mqtt监听

This commit is contained in:
yiyan
2019-04-09 00:46:23 +08:00
parent 6ce2d80599
commit 936dc784f4
14 changed files with 189 additions and 105 deletions
+4 -4
View File
@@ -4,15 +4,15 @@ log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#\u53EF\u4EE5\u7075\u6D3B\u5730\u6307\u5B9A\u65E5\u5FD7\u8F93\u51FA\u683C\u5F0F\uFF0C\u4E0B\u9762\u4E00\u884C\u662F\u6307\u5B9A\u5177\u4F53\u7684\u683C\u5F0F
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
log4j.appender.Console.layout.ConversionPattern=[ifishMQ][%c] - %m%n
#\u6587\u4EF6\u5927\u5C0F\u5230\u8FBE\u6307\u5B9A\u5C3A\u5BF8\u7684\u65F6\u5019\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6
log4j.appender.File = org.apache.log4j.RollingFileAppender
#\u6307\u5B9A\u8F93\u51FA\u76EE\u5F55
log4j.appender.File.File = logs/dnkx.log
log4j.appender.File.File = logs/ifishMQ.log
#\u5B9A\u4E49\u6587\u4EF6\u6700\u5927\u5927\u5C0F
log4j.appender.File.MaxFileSize = 10MB
log4j.appender.File.MaxFileSize = 100
#\u8F93\u51FA\u6240\u4EE5\u65E5\u5FD7\uFF0C\u5982\u679C\u6362\u6210DEBUG\u8868\u793A\u8F93\u51FADEBUG\u4EE5\u4E0A\u7EA7\u522B\u65E5\u5FD7
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
log4j.appender.File.layout.ConversionPattern =[ifishMQ][%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
+5
View File
@@ -0,0 +1,5 @@
broker_url=tcp://localhost:61616
username=admin
password=admin
queue_data_name=ifishDataMq
queue_push_name=ifishPushMq
+49 -26
View File
@@ -8,15 +8,18 @@
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core-5.14.1.xsd">
<context:component-scan base-package="com.ifish7.mq.activemq" />
http://activemq.apache.org/schema/core/activemq-core-5.14.1.xsd">
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:mq.properties" />
</bean>
<context:component-scan base-package="com.ifish7.mq.queues.*" />
<amq:connectionFactory id="amqConnectionFactory"
brokerURL="tcp://localhost:61616"
userName="admin"
password="admin" />
brokerURL="${broker_url}"
userName="${username}"
password="${password}" />
<!-- 配置JMS连接工长 -->
<bean id="connectionFactory"
@@ -25,31 +28,51 @@
<property name="sessionCacheSize" value="100" />
</bean>
<!-- 定义消息队列(Queue -->
<bean id="dnkxQueueDestination" class="org.apache.activemq.command.ActiveMQQueue">
<!-- 定义数据存储消息队列(Queue -->
<bean id="ifish7DataQueueDestination" class="org.apache.activemq.command.ActiveMQQueue">
<!-- 设置消息队列的名字 -->
<constructor-arg>
<value>ifishDataMq</value>
<value>${queue_data_name}</value>
</constructor-arg>
</bean>
<!-- 配置JMS模板(Queue),Spring提供的JMS工具类,它发送、接收消息。 -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="defaultDestination" ref="dnkxQueueDestination" />
<property name="receiveTimeout" value="10000" />
<!-- true是topicfalse是queue,默认是false,此处显示写出false -->
<property name="pubSubDomain" value="false" />
<!-- 定义消息推送消息队列(Queue -->
<bean id="ifish7PushQueueDestination" class="org.apache.activemq.command.ActiveMQQueue">
<!-- 设置消息队列的名字 -->
<constructor-arg>
<value>${queue_push_name}</value>
</constructor-arg>
</bean>
<!-- 配置消息队列监听者(Queue -->
<bean id="queueMessageListener" class="com.ifish7.mq.activemq.listener.QueueMessageListener" />
<!-- 显示注入消息监听容器(Queue),配置连接工厂,监听的目标是demoQueueDestination,监听器是上面定义的监听器 -->
<bean id="queueListenerContainer"
<bean id="ifishDataQueueMessageListener" class="com.ifish7.mq.queues.listener.IfishDataQueueMessageListener" />
<bean id="ifishPushQueueMessageListener" class="com.ifish7.mq.queues.listener.IfishPushQueueMessageListener" />
<!-- 监听 -->
<bean id="queueDataListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="dnkxQueueDestination" />
<property name="messageListener" ref="queueMessageListener" />
<property name="destination" ref="ifish7DataQueueDestination" />
<property name="messageListener" ref="ifishDataQueueMessageListener" />
</bean>
</beans>
<bean id="queuePushListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="ifish7PushQueueDestination" />
<property name="messageListener" ref="ifishPushQueueMessageListener" />
</bean>
<!-- topics -->
<bean id="topicDestination" class="org.apache.activemq.command.ActiveMQTopic">
<constructor-arg value="ruixin/2a"/>
</bean>
<bean id="consumerSessionAwareMessageListener" class="com.ifish7.mq.mqtt.client.ClientMqttMessageListener"/>
<bean id="sessionAwareListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="topicDestination" />
<property name="messageListener" ref="consumerSessionAwareMessageListener" />
</bean>
</beans>