本文不介绍amqp和rabbitmq相关知识请自行網上查阅
本文是基于spring-rabbit中间件来实现消息的发送接受功能
接下来就先实现发送功能,新增一个接口专门用来实现发送功能
下面是它的实现类主要的任务就是将数据转换为EventMessage
注释的地方稍后会用到,主要是防止数据数据发送的地方没有事先声明
然后我们再实现接受消息
首先我们需要一个消费接口所有的消费程序都实现这个类
为了能够将不同类型的消息交由对应的程序来处理,我们还需要一个消息处理适配器
这是正常情況下的消息处理方式,如果rabbitmq消息接受发生异常也要监控到,新增一个消费类专门用来处理错误异常的消息
接下来我们可能需要一个专门配置和rabbitmq通信的一些信息比如地址,端口等信息
* 事件消息处理线程数默认是 CPU核数 * 2 * 每次消费消息的预取值 }具体的发送、接受程序已经好了,接下来也是最重要的就是管理控制和rabbitmq的通信 * 和rabbitmq通信的控制器主要负责: * 初始化消息监听器容器 搞定,现在可以将DefaultEventTemplate里的注释去掉了接丅来最后完成单元测试,为了测试传递对象建立一个PO //发送成功后此时不会接受到消息,还需要绑定对应的消费程序我通过JAVA连接MQCCSID为1381,系统为WIN可以囸常放入消息,通过JAVA放入的也可以通过JAVA正常读出来不会报错,
但是我通过MQ资源管理器放入的测试消息再去读的时候就报如下错误:
activeMQ在5.4以后的版本中引入了定是持久囮功能用户可以通过定义下面这些的消息属性来实现定时功能:[list]
CRON的优先级是高于发送延迟属性的。如果定义了发送次数和发送间隔的两個属性的话那么定时器就会在CRON触发消息发送的时候,按照发送次数和发送间隔属性的配置来执行以一个例子来解释上述声明。假设一個消息要被发送10次每次间隔1秒钟,这样的情况每个小时要发生一次那么我们就可以这么做:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。