安装环境:Activemq5.11.1, jdk1.7(activemq5.11.1版本需要jdk升级到1.7),虚拟机: 192.168.147.131
配置Nginx代理Activemq后台管理应用默认绑定的8161端口
重启nginx
启动activemq
配置host[192.168.147.131 tools.activemq.local.com]
登录activemq的后台,默认账号 admin/admin
http://tools.activemq.local.com/admin实例展示MQ消息的发送和接收[消息类型分为queue 和 Topic]
pom引入
Queue类型消息1、定义消息destination和brokerUrl[61616为activemq用于消息通讯的端口]
2、编写消息的发送程序
执行消息发送,在管理后台查看
3、编写消息的消费程序
执行这段代码会输出接收到的消息内容:
管理后台在查看queue中心结果如下:
Topic类型消息
1、定义消息destination和brokerUrl[61616为activemq用于消息通讯的端口]
2、编写消息生产者
3、编写消息消费者
先启动消费者:
启动生产者,生产消息,此时会接收到消息如图:
观察topic后台管理
Queue模型消息和Topic模型消息区别
queue[点对点模型] 1、只有一个消费者 每条消息只有一个消费者,如果这条消息被消费,那么其它消费者不能接受到此消息。 2、时间无关性 消息的消费和时间无关,只要消息被发送了,在消息过期之前,如果没有其他消费者消费了这个消息,那么客户端可以在任何时候来消费这条消息。 3、消费者必须确认 消费者收到消息之后,必须向Message Provider确认,否则会被认为消息没有被消费,仍然可以被其他消费者消费。可以设置自动确认。这个特点其实也是保证一条消息只能由一个消费者来消费。 4、非持久化的消息只发一次 非持久化的消息,可能会丢失,因为消息会过期,另外Message Provider可能宕机。 5、持久化的消息严格发一次 消息可以被持久化,比如持久化在文件系统或者数据库中,这样可以避免Message Provider的异常或者其它异常导致消息丢失。Topic[发布者/订阅者模型] 1、每条消息可以有多个订阅者 2、订阅者只能消费它们订阅topic之后的消息 3、非持久化订阅,订阅者必须保持为活动状态才能使用这些消息,如果一个订阅者A断开了10分钟,那么A就会收不到这10分钟内的消息。 4、持久化订阅,Message Provider会保存这些消息,即使订阅者因为网络原因断开了,再重新连接以后,能让消费这些消息。 5、是否使用持久化订阅,需要根据业务场景判断。
Original: https://www.cnblogs.com/dennisit/p/4551182.html
Author: 苏二
Title: activemq安装与简单消息发送接收实例
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/539852/
转载文章受原作者版权保护。转载请注明原作者出处!