Spring整合ActiveMQ
来源:互联网 发布:算法研究员是做什么 编辑:程序博客网 时间:2024/06/05 03:35
ActiveMQ的应用场景:
主要是为了减少系统之间的耦合度,就是说一个流程走完,会触发别的不相关的流程,但是为了减少耦合度,不能在当前的流程中在调用其他不相关的服务,于是activeMQ就可以解决此类问题:
具体配置如下:
1.加入依赖的mq框架:
2.生产者方的配置:
1:工厂(原厂商) Apache 提供2:工厂连接池(原厂商)3:Spring管理工厂连接池4:JmsTemplate 连接ActiveMQ jdbcTemplate连接Mysql
<!-- AcitveMQ 配置--> <!-- 工厂 原厂商提供 --> <bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <!-- 设置连接URL --> <property name="brokerURL" <!--配置mq的服务器的地址--> value="tcp://192.168.200.128:61616"/> <!-- 用户名、 --> <property name="userName" value="admin"/> <!-- 密码、 --> <property name="password" value="admin"/> </bean> <!-- 工厂连接池 --> <bean id="pooledConnectionFactoryBean" class="org.apache.activemq.pool.PooledConnectionFactoryBean"> <property name="connectionFactory" ref="activeMQConnectionFactory"/> <!-- 最大 连接数 --> <property name="maxConnections" value="2"/> </bean> <!-- Spring管理起上面的工厂 --> <bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"> <!-- 注入上面的工厂连接池 --> <property name="targetConnectionFactory" ref="pooledConnectionFactoryBean"/> </bean> <!-- JmsTemplate由Spring提供 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory"/> <!-- 默认目标 --> <property name="defaultDestinationName" value="productId"/> </bean>
消息生产方发送消息:
3.消息消费方配置
1:工厂(原厂商) Apache 提供2:工厂连接池(原厂商)3:Spring管理工厂连接池4:监听器 ActiveMQ 是否有消息 如果有接收进来
<!-- AcitveMQ 配置--> <!-- 工厂 原厂商提供 --> <bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <!-- 设置连接URL --> <property name="brokerURL" <!--配置mq的服务器的地址--> value="tcp://192.168.200.128:61616"/> <!-- 用户名、 --> <property name="userName" value="admin"/> <!-- 密码、 --> <property name="password" value="admin"/> </bean> <!-- 工厂连接池 --> <bean id="pooledConnectionFactoryBean" class="org.apache.activemq.pool.PooledConnectionFactoryBean"> <property name="connectionFactory" ref="activeMQConnectionFactory"/> <!-- 最大 连接数 --> <property name="maxConnections" value="2"/> </bean> <!-- Spring管理起上面的工厂 --> <bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"> <!-- 注入上面的工厂连接池 --> <property name="targetConnectionFactory" ref="pooledConnectionFactoryBean"/> </bean> <!-- JmsTemplate由Spring提供 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory"/> <!-- 默认目标 --> <property name="defaultDestinationName" value="productId"/> </bean><!--配置监听器--><bean id="solrCustomerMessageListener" class="com.chukun.babasport.message.SolrCustomerMessageListener"></bean> <bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"></property><!--与生产方配置的相同名称--><property name="destinationName" value="productId"></property><property name="messageListener" ref="solrCustomerMessageListener"></property> </bean>
监听器代码:
import org.apache.activemq.command.ActiveMQTextMessage;public class SolrCustomerMessageListener implements MessageListener{ @Override public void onMessage(Message message) { ActiveMQTextMessage amtm = (ActiveMQTextMessage) message; try { System.out.println(amtm.getText()); } catch (JMSException e) { e.printStackTrace(); } }}
至此,简单的整合,就完成了
阅读全文
0 0
- ActiveMQ(四):Spring ActiveMQ 整合
- ActiveMQ和spring整合
- Spring整合ActiveMQ
- SPRING+ACTIVEMQ+TOMCAT整合
- Spring整合activeMQ
- ActiveMQ、Spring整合学习
- activeMq整合spring
- ActiveMQ、Spring整合学习
- spring activemq quartz 整合
- SPRING JMS 整合ACTIVEMQ
- ActiveMQ整合Spring
- 【参考】spring整合activemq
- Spring整合ActiveMQ
- spring+activemq整合学习
- spring 整合 activemq 配置文件
- Spring整合ActiveMQ
- Spring与ActiveMQ整合
- ActiveMQ和spring整合
- UVALive 7509 三分
- 静态顺序表的C语言实现
- C++传引用
- 实用函数之计算某天是星期几
- DSP芯片CMD文件中各段的实验验证(下)
- Spring整合ActiveMQ
- postgres定位执行慢的SQL的方法
- C#221课的主要内容
- Max Sequence
- 微信公众平台java接入
- java异常拓展
- ubuntu上安装及破解sublime,以及禁止更新
- 小学生算术
- C# string类型和byte[]类型相互转换