MQTT和spring的整合(生产者)

来源:互联网 发布:绿盟网络审计系统 编辑:程序博客网 时间:2024/06/06 18:49

消息发送,这边不算是和spring完美结合,有同学那边有好的案例的话 ,希望能共享下.谢谢


==================================================================================

一,maven依赖

<dependency>    <groupId>org.springframework.integration</groupId>    <artifactId>spring-integration-mqtt</artifactId>    <version>4.1.0.RELEASE</version>    <exclusions>    <exclusion>    <groupId>org.eclipse.paho</groupId><artifactId>mqtt-client</artifactId>    </exclusion>    </exclusions></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><!-- spring dependencies --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId></dependency><!-- spring dependencies end -->
二.spring.xml配置和spring-mvc.xml以及web.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-3.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/mvc       http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd      http://www.springframework.org/schema/task                      http://www.springframework.org/schema/task/spring-task-3.0.xsd">                     <!-- 引入mqtt配置文件 -->                     <import resource="xml/mqtt.xml"/></beans>

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"><!-- 自动扫描@Controller注入为bean --><context:component-scan base-package="com.efrobot.api.mqtt.controller" /></beans>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name>robot-mainservice</display-name><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring.xml        </param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>springMvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springMvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

三,mqtt.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:int-mqtt="http://www.springframework.org/schema/integration/mqtt"    xsi:schemaLocation="        http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-4.1.xsd        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd        http://www.springframework.org/schema/integration/mqtt http://www.springframework.org/schema/integration/mqtt/spring-integration-mqtt-4.1.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context-4.1.xsd"><bean id="clientFactory"class="org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory"><property name="userName" value="用户名" /><property name="password" value="密码" /><property name="serverURIs"><array><value>mqtt服务地址</value></array></property></bean><bean id="mqtt" class="org.springframework.integration.mqtt.outbound.MqttPahoMessageHandler"><constructor-arg name="clientId" value="CID_2016524123456"></constructor-arg><constructor-arg name="clientFactory" ref="clientFactory"></constructor-arg></bean></beans>

四:服务发送

@Controller@RequestMapping("/mqtt")public class MessageController {@Resourceprivate MqttPahoMessageHandler mqtt;@RequestMapping(value="/send")public void sendMessage(){Message<String> message = MessageBuilder.withPayload("==========1111111111111111111111111=========").setHeader(MqttHeaders.TOPIC, "robot_server").build();mqtt.handleMessage(message);System.out.println("成功");}}



0 0
原创粉丝点击