前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ActiveMQ入门篇一入门实例2

ActiveMQ入门篇一入门实例2

作者头像
码神联盟
发布2018-04-02 16:19:43
1.1K1
发布2018-04-02 16:19:43
举报
文章被收录于专栏:码神联盟
继上两期的ActiveMQ

老规矩,在开始之前,先来点与之相关的干货。

— 常见协议 —

  • 物理层 以太网·调制解调器·电力线通信(PLC)·SONET/SDH · 光导纤维等
  • 数据链路层 Wi-Fi(IEEE 802.11) · ATM · DTM · 令牌环·以太网· GPRS · HDLC · PPP · L2TP ·PPTP ·STP 等
  • 网络层协议 IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · ARP · RARP 等
  • 传输层协议 TCP · UDP · TLS · DCCP · SCTP · RSVP 等
  • 应用层协议 HTTP · POP3 · RPC · DHCP · DNS · FTP · IMAP4 · IRC · XMPP · SMTP · SNMP · SSH · RTP · SOAP 等

— 集成步骤 —

1:创建web工程

2:添加MQ和Spring的依赖包

3:配置xml文件

包括:web.xml、spring-mvc.xml、applicationContext.xml、ActiveMQ.xml

其中前三个就不过多介绍了,很简单,重点是ActiveMQ.xml的配置,如下:

①配置ActiveMQ的连接工厂

②配置Spring 的Cache工厂

③定义JmsTemplate的Queue类型

④定义JmsTemplate的Topic类型

⑤定义Queue监听

⑥定义Topic监听

代码如下:

<!-- ActiveMQ 连接工厂 -->

<!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供-->

<!-- 如果连接网络:tcp://ip:61616;未连接网络:tcp://localhost:61616 以及用户名,密码-->

<amq:connectionFactory id="amqConnectionFactory" brokerURL="tcp://localhost:61616" userName="admin" password="admin" />

<!-- Spring Caching连接工厂 -->

<!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->

<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">

<!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->

<property name="targetConnectionFactory" ref="amqConnectionFactory"></property>

<!-- 同上,同理 -->

<!-- <constructor-arg ref="amqConnectionFactory" /> -->

<!-- Session缓存数量 -->

<property name="sessionCacheSize" value="100" />

</bean>

<!-- Spring JmsTemplate 的消息生产者 start-->

<!-- 定义JmsTemplate的Queue类型 -->

<bean id="jmsQueueTemplate" class="org.springframework.jms.core.JmsTemplate">

<!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->

<constructor-arg ref="connectionFactory" />

<!-- 非pub/sub模型(发布/订阅),即队列模式 -->

<property name="pubSubDomain" value="false" />

</bean>

<!-- 定义JmsTemplate的Topic类型 -->

<bean id="jmsTopicTemplate" class="org.springframework.jms.core.JmsTemplate">

<!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->

<constructor-arg ref="connectionFactory" />

<!-- pub/sub模型(发布/订阅) -->

<property name="pubSubDomain" value="true" />

</bean>

<!--Spring JmsTemplate 的消息生产者 end-->

<!-- 消息消费者 start-->

<!-- 定义Queue监听器 -->

<jms:listener-container destination-type="queue" container-type="default"

connection-factory="connectionFactory" acknowledge="auto">

<jms:listener destination="test.queue" ref="queueReceiver1"/>

<jms:listener destination="test.queue" ref="queueReceiver2"/>

</jms:listener-container>

<!-- 定义Topic监听器 -->

<jms:listener-container destination-type="topic" container-type="default"

connection-factory="connectionFactory" acknowledge="auto">

<jms:listener destination="test.topic" ref="topicReceiver1"/>

<jms:listener destination="test.topic" ref="topicReceiver2"/>

</jms:listener-container>

<!-- 消息消费者 end -->

如图:

4:创建生产者

5:创建消费者和监听

6:新建index.jsp页面

7:测试

• URL:http://localhost:8161/admin/

• 前端测试页面地址:http://localhost/ActiveMQSpringDemo/index.jsp

注:如需源码,请右下角留言即可

下一期,将分享《互联网开发平台层次架构技术点》,敬请关注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码神联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档