Jakarta ee 如何在Wildfly中使用MQTT

Jakarta ee 如何在Wildfly中使用MQTT,jakarta-ee,jms,activemq,mqtt,wildfly-10,Jakarta Ee,Jms,Activemq,Mqtt,Wildfly 10,我正在一个平台上工作,以监视和控制在通信层使用MQTT的设备。我为基于Angular2的SPA Web使用REST端点。后端是在JEE中使用WildFly开发的,WildFly通过is JMS代理(活动MQ)支持开箱即用的MQTT协议 我是吉普的新手,不知道很多事情: -我从未使用过JMS系统 -我在教程中找不到任何信息来指导我如何通过JMS应用程序获取MQTT消息 您能帮我在WildWfly上构建一个非常基本的应用程序,演示如何通过MQTT使用/生成JMS消息吗 编辑 基于此(您应该手动向Wi

我正在一个平台上工作,以监视和控制在通信层使用MQTT的设备。我为基于Angular2的SPA Web使用REST端点。后端是在JEE中使用WildFly开发的,WildFly通过is JMS代理(活动MQ)支持开箱即用的MQTT协议

我是吉普的新手,不知道很多事情:
-我从未使用过JMS系统
-我在教程中找不到任何信息来指导我如何通过JMS应用程序获取MQTT消息

您能帮我在WildWfly上构建一个非常基本的应用程序,演示如何通过MQTT使用/生成JMS消息吗

编辑

基于此(您应该手动向WildFly添加对其他消息协议的支持),我尝试通过以下方式添加MQTT支持向WildFly文件夹添加MQTT模块:

\wildfly-10.1.0.Final\modules\system\layers\base\org\apache\activemq\artemis\protocol\mqtt\main\module.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.apache.activemq.artemis.protocol.mqtt">
    <resources>
        <resource-root path="artemis-mqtt-protocol-1.3.0.jar"/>
        <resource-root path="netty-codec-mqtt-4.1.5.Final"/>
    </resources>

    <dependencies>
        <!-- required to load ActiveMQ protocol SPI -->
        <module name="org.apache.activemq.artemis"/>
    </dependencies>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.apache.activemq.artemis">
    ....
    <dependencies>
        ...
        <module name="org.apache.activemq.artemis.protocol.mqtt" services="import" optional="true"/>
        ...
    </dependencies>
</module>

我还将资源jar添加到文件夹中

\wildfly-10.1.0.Final\modules\system\layers\base\org\apache\activemq\artemis\main\module.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.apache.activemq.artemis.protocol.mqtt">
    <resources>
        <resource-root path="artemis-mqtt-protocol-1.3.0.jar"/>
        <resource-root path="netty-codec-mqtt-4.1.5.Final"/>
    </resources>

    <dependencies>
        <!-- required to load ActiveMQ protocol SPI -->
        <module name="org.apache.activemq.artemis"/>
    </dependencies>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.apache.activemq.artemis">
    ....
    <dependencies>
        ...
        <module name="org.apache.activemq.artemis.protocol.mqtt" services="import" optional="true"/>
        ...
    </dependencies>
</module>

....
...
...
但当一只野蝇奔跑时,我看不见它的输出

添加对:MQTT的协议支持


指望人们从头开始做堆栈溢出的事情很少有效果,相反,如果你展示你已经尝试过的东西,人们会帮助你修复它并使它工作。用您实际尝试过的内容更新问题。有什么解决方案吗?我试图在EJB中使用eclipse paho库。可能吗?在EJB中导入eclipse paho.jar库并使用它时遇到问题:s@Twimnox是可能的,目前我正在使用此实现:@atc91您的服务器配置设置是什么?我可以部署和访问该库,但当我从MQTT paho库调用对象时,它们被实例化为“null”,因此导致部署崩溃。@Twimnox我使用的是标准的“full standalone.xml”文件。我认为服务器无法访问pao库。您应该将pao jar文件包含到部署文件(.ear.war)中,或者将库添加到服务器安装文件夹(“…wildfly-10.1.0.Final\standalone\lib”)