ActiveMQ入门 (六) 消息的投递方式

ActiveMQ入门 (六) 消息的投递方式文章目录ActiveMQ入门 (六) 消息的投递方式一、消息投递方式1.同步发送:2.异步发送:2.1.如何实现异步:2.2.异步投递配置:2.3.异步投递如何确认发送成功: 采用异步回调接口3.延迟投递:1.修改activemq.xml:2.在代码中设置延迟时长:4.定时投递:1.启动类添注解:2.在生产者添加@Scheduled设置定时:一、消息投递方式1.同步发送:消息生产者使用持久(Persistent)传递模式发送消息的时候,Producer.s
摘要由CSDN通过智能技术生成

ActiveMQ入门 (六) 消息的投递方式

一、消息投递方式

1.同步发送:

消息生产者使用持久(Persistent)传递模式发送消息的时候,Producer.send() 方法会被阻塞,直到broker 发送一个确认消息给生产者(ProducerAck),这个确认消息暗示broker已经成功接收到消息并把消息保存到二级存储中。

2.异步发送:

如果应用程序能够容忍一些消息的丢失,那么可以使用异步发送。异步发送不会在受到broker的确认之前一直阻塞 Producer.send方法。

2.1.如何实现异步:

想要使用异步,在brokerURL中增jms.alwaysSyncSend=false&jms.useAsyncSend=true属性
1)如果设置了alwaysSyncSend=true系统将会忽略useAsyncSend设置的值都采用同步
2)当alwaysSyncSend=false时,“NON_PERSISTENT”(非持久化)、事务中的消息将使用“异步发送”
3)当alwaysSyncSend=false时,如果指定了useAsyncSend=true,“PERSISTENT”类型的消息使用异步发送。
如果useAsyncSend=false,“PERSISTENT”类型的消息使用同步发送。

总结: 默认情况(alwaysSyncSend=false,useAsyncSend=false),非持久化消息、事务内的消息均采用
异步发送;对于持久化消息采用同步发送!

2.2.异步投递配置:

@Configuration
public class ActiveConfig {
   
/**
* 配置用于异步发送的非持久化JmsTemplate
*/
	@Autowired
	@Bean
	public JmsTemplate asynJmsTemplate(PooledConnectionFactory
pooledConnectionFactory) {
   
		JmsTemplate template = new JmsTemplate(p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值