`
knight_black_bob
  • 浏览: 850387 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

springboot 同步解耦 异步化

阅读更多

 

 ----------------------------------------------------------------------------------------------------------------

springboot 详解 (一) helloworld                                    下载demo          

springboot 详解 (二) crud                                             下载demo     

springboot 详解 (三) 多数据源                                        下载demo      

springboot 详解 (四)redis & filter                                    下载demo    

springboot 详解 (五)interceptor                                       下载demo     

springboot 详解 (六)servlet & scheduled & listener         下载demo     

springboot 详解(七) dubbox & zookeeper   下载(productor) 下载(constumser)

springboot 同步解耦 异步化 下载demo

springboot jenkins docker 部署 

springboot 详解(八) springboot & springcloud 

----------------------------------------------------------------------------------------------------------------

 

 

 

代码下载位置https://download.csdn.net/download/knight_black_bob/10309215

 

 



 

 

 

public class MessageEvent extends ApplicationEvent{

	private MSMMessageEnitity entity;
	private boolean flag;
	public MessageEvent(Object source,MSMMessageEnitity entity, boolean flag) {
		super(source);
		this.entity = entity;
	}

	public MSMMessageEnitity getEntity() {
		return entity;
	}

	public void setEntity(MSMMessageEnitity entity) {
		this.entity = entity;
	}

	public boolean isFlag() {
		return flag;
	}

	public void setFlag(boolean flag) {
		this.flag = flag;
	}
	 

}

 

public class MSMMessageEnitity  implements Serializable{

	 private String msgId;
	 private Date sendDate;
	 private String content;
	 private String sendUserid;
	 
	 
	public String getMsgId() {
		return msgId;
	}
	public void setMsgId(String msgId) {
		this.msgId = msgId;
	}
	public Date getSendDate() {
		return sendDate;
	}
	public void setSendDate(Date sendDate) {
		this.sendDate = sendDate;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getSendUserid() {
		return sendUserid;
	}
	public void setSendUserid(String sendUserid) {
		this.sendUserid = sendUserid;
	}
	 
	 

}

 

@Component
public class MessageListener implements ApplicationListener {

	@Async
	@Override
	public void onApplicationEvent(ApplicationEvent event) {
		if (event instanceof MessageEvent) {
			sendMsmMessage();
		}
	}

	private void sendMsmMessage() {
		System.out.println("======================= send evnetlistener    start =======================");
		try {
			Thread.sleep(3000);
			//TODO: 
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("======================= send evnetlistener    success =======================");		
	}

 
}

 

 

@Service
public class SendMessageServiceImpl  implements SendMessageService{

	@Autowired
	private ApplicationContext context;
	
	@Override
	public void send(MSMMessageEnitity entity) {
		 context.publishEvent(new MessageEvent(this, entity,true));
	}

	 

}

 

 

public interface SendMessageService {

	 public void send(MSMMessageEnitity entity);

}

 

@RestController
@RequestMapping("/messages")
public class MessageSendController {

	@Resource
	SendMessageService sendMessageService;
	
	
	@RequestMapping("/send")
	 public void send(){
		MSMMessageEnitity entity = new MSMMessageEnitity();
		sendMessageService.send(entity );
		System.out.println(" ================insert db=========================");
		System.out.println("=====================end= end=======================");
	 }
}

 

 

@EnableAsync
@SpringBootApplication 
public class SyncEvnetApplication {
	  
		public static void main(String[] args) {
			SpringApplication.run(SyncEvnetApplication.class, args);
		}
 
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者 

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。

 

个人主页http://knight-black-bob.iteye.com/



 
 
 谢谢您的赞助,我会做的更好!

  • 大小: 71.2 KB
1
0
分享到:
评论

相关推荐

    springboot整合rocketmq源码

    在当今的微服务架构中,消息队列(Message Queue)已经成为解耦、异步处理以及提高系统可靠性的关键组件。本主题将深入探讨如何在SpringBoot应用中整合Apache RocketMQ,一个高性能、高可用且功能丰富的分布式消息...

    iot:iot是基于netty, spring boot, redis等开源项目实现的物联网框架, 支持tcp, udp底层协议和http, mqtt, modbus等上层协议.支持心跳处理、短线重连、服务端同步和异步调用设备、应用客户端同步和异步调用设备、协议实现和业务处理解耦分离、基于redis的数据生产和消费。并指定一套统一、易理解和简单的api接口

    支持对设备同步和异步的调用操作. 主要向开发人员开放了一套统一、简洁的用于操作设备的Api接口. 该框架只提供和设备对接部分(通过spring的bean注入解耦特性实现业务和协议实现分离), 使用此框架的客户必须遵循此...

    springBoot整合RabbitMQ案例

    总之,SpringBoot整合RabbitMQ是一个强大的工具,它能够帮助开发者处理分布式系统中的异步通信问题。通过理解并熟练运用上述知识点,可以有效地提升系统的可扩展性和可靠性。在实际开发中,根据具体需求灵活配置和...

    springboot

    8. **消息队列**:虽然没有明确的文件名,但微服务架构中通常会使用消息队列(如 RabbitMQ 或 Kafka)进行异步通信和解耦。Spring Boot 提供了对这些消息中间件的集成,简化了消息的发送和接收。 9. **监控与日志**...

    springboot206基于SpringBoot的农商对接系统的设计与实现.zip

    1. 技术选型:SpringBoot作为核心开发框架,结合SpringCloud进行微服务化设计,利用Eureka实现服务注册与发现,Zuul作为API网关,Hystrix进行服务熔断与降级,RabbitMQ实现消息队列,用于异步处理和解耦业务。...

    基于springboot的线上买菜系统源码.zip

    9. **RabbitMQ或Kafka消息队列**:对于订单处理、库存同步等异步任务,可能会采用消息队列来解耦系统,提高系统的并发处理能力。 10. **Docker容器化**:为了实现快速部署和环境一致性,系统可能利用Docker打包应用...

    springboot监听方法多实现demo.zip

    通过这种方式,我们可以灵活地扩展Spring Boot应用,实现模块之间的解耦和通信。在实际项目中,可以根据需求创建不同的事件和监听器,构建出强大的事件驱动系统。在压缩包文件中,可能包含了示例代码,用于演示这些...

    SpringBoot 整合 RabbitMQ demo

    通过消息队列,服务可以解耦,并实现异步处理,提高系统的响应速度和可扩展性。 8. **RabbitMQ管理界面** - RabbitMQ提供了一个Web管理界面,可以查看队列状态、监控性能、管理用户和权限等,方便开发者调试和运维...

    springBoot2.0.1、zookeeper、dubbo、activemq、redis整合分布式架构

    首先,SpringBoot 2.0.1 是基于 Spring Framework 的轻量级开发框架,它简化了初始化配置、自动配置以及应用部署的过程,让开发者可以更专注于业务逻辑。SpringBoot 提供了一种快速开发 RESTful 服务的方式,适用于...

    springboot在线外卖系统.zip

    为了处理异步任务和解耦业务,系统可能会使用RabbitMQ或Kafka等消息队列,比如处理订单生成后的通知、生成配送任务等。 10. **日志记录与监控** 使用Logback、Log4j等日志框架进行日志记录,便于调试和问题定位。...

    SpringBoot533火车订票管理系统.zip

    同时,使用消息队列如RabbitMQ或Kafka来解耦各个服务,提升系统的异步处理能力和扩展性。 安全方面,Spring Security或OAuth2可能会被用于实现用户认证和授权。Spring Security提供了全面的安全管理框架,可以方便...

    SpringBoot Dubbo RocketMQ订单支付系统.zip

    综上所述,这个系统采用SpringBoot作为基础开发框架,利用Dubbo实现服务化,通过RocketMQ处理服务间的消息通信,旨在构建一个稳定、高效、可扩展的订单支付解决方案。设计和实施这样的系统需要深入理解这些技术,...

    基于SpringBoot前后端分离的点餐系统.zip

    【标题】"基于SpringBoot前后端分离的点餐系统"是一个现代Web应用程序的实例,它利用了SpringBoot框架的优势来构建高效、可扩展的后台服务,同时实现了前端与后端的解耦,以提高开发效率和用户体验。在这个系统中,...

    基于springboot+Mybatis实现的餐厅点餐系统.zip

    这通常涉及到API调用、异步回调和交易状态的同步。 5. 管理员模块:为后台管理人员提供管理界面,可以查看订单统计、处理退款请求、管理用户反馈等。 在开发过程中,SpringBoot的 Starter 包简化了依赖的引入,...

    品优购电商系统--springboot+dubbo版.zip

    在品优购系统中,Dubbo用于构建服务间的通信,实现了服务的解耦和模块化。通过提供高性能的RPC调用,确保了系统的高并发处理能力。服务提供者和服务消费者之间的交互,通过Dubbo的API进行,增强了系统的灵活性和可...

    天梭(Tissot)集成SpringBoot+Dubbo等主流互联网技术栈,高度集成

    5. **服务调用模式**:包括同步调用、异步调用、单向调用等多种模式,满足不同场景的需求。 【MySQL核心知识点】 1. **关系型数据库**:MySQL是一个流行的开源关系型数据库管理系统,具有高并发、事务处理能力强的...

    基于 Springboot + Redis + Kafka 的秒杀系统TPS 从 500 优化到 3000.zip

    **异步处理** 在这里指的是通过Kafka将秒杀请求异步化,避免同步处理请求导致的阻塞。这样,前端用户可以迅速得到响应,而后台则可以逐步处理请求,提高整体TPS。 综上所述,这个秒杀系统通过Springboot实现基础...

    springboot redis zookeeperlock rabbit实现的分布式锁.zip

    4. **RabbitMQ**:RabbitMQ是基于AMQP(Advanced Message Queuing Protocol)的消息中间件,用于解耦生产者和消费者,实现异步通信。在分布式锁的场景下,RabbitMQ可能被用来发送和接收锁请求,通过消息队列保证请求...

    springboot与ActiveMQ整合.docx

    ActiveMQ是一款开源的消息中间件,它支持多种消息协议,如AMQP、JMS、STOMP等,用于实现系统的异步处理和解耦。 在例如学校管理系统的场景中,各个子系统如学生系统、资产系统、宿舍系统需要相互协作。当需要进行...

Global site tag (gtag.js) - Google Analytics