生产者配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms-4.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core-5.6.0.xsd">
<bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://127.0.0.1:61616</value>
</property>
<property name="userName" value="super"></property>
<property name="password" value="Rfid123456"></property>
</bean>
</property>
<property name="maxConnections" value="100"></property>
</bean>
<!-- 生产者 -->
<!-- topic模板 -->
<bean id="jmsTopicTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsFactory"/>
<property name="defaultDestination" ref="deviceStateTopicDestination" />
<!-- pub/sub模型(发布/订阅)即 主题主题-订阅者模式 -->
<property name="pubSubDomain" value="true" />
<property name="receiveTimeout" value="60000"/>
<!-- 持久化消息 -->
<!-- <property name="deliveryMode" value="2"/> -->
</bean>
<!-- 扫描消费者类所在的包 -->
<context:component-scan base-package="com.zit.activemq" />
<!-- 发布“设备状态”的订阅 -->
<bean id="deviceStateTopicDestination" class="org.apache.activemq.command.ActiveMQTopic">
<constructor-arg>
<value>deviceStateTopic</value>
</constructor-arg>
</bean>
</beans>
2.消费者配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms-4.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd">
<bean id="consumerConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://127.0.0.1:61616</value>
</property>
<property name="userName" value="super"></property>
<property name="password" value="Rfid123456"></property>
</bean>
</property>
<property name="maxConnections" value="100"></property>
</bean>
<!-- 设别状态的消费者 -->
<bean id="deviceStateConsumer" class="com.zit.activemq.main.consumer.DeviceStateConsumer"></bean>
<bean id="deviceListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="consumerConnectionFactory" />
<!-- 发布订阅模式 -->
<property name="pubSubDomain" value="true"/>
<!-- 消息持久化订阅 -->
<property name="subscriptionDurable" value="true"/>
<property name="receiveTimeout" value="10000"/>
<!-- 接收者ID -->
<property name="clientId" value="client_device" />
<property name="durableSubscriptionName" value="client_device"/>
<property name="destination" ref="deviceStateTopicDestination" />
<property name="messageListener" ref="deviceStateConsumer" />
</bean>
</beans>
3.需要的相关jar包:
4.jar包下载:点击进行下载