【问题标题】:In Wso2 esb how to publish message using mqtt在 Wso2 esb 中如何使用 mqtt 发布消息
【发布时间】:2018-07-04 14:14:21
【问题描述】:

在 wso2 esb 中如何使用 mqtt 发布消息。我添加了axis2-transport-mqtt-1.0.0.jar和mqtt-client-0.4.0.jar。

为了接收我已经配置了axis2.xml

<transportReceiver class="org.apache.axis2.transport.mqtt.MqttListener" name="mqtt">
        <parameter locked="false" name="mqttConFactory">
                <parameter locked="false" name="mqtt.server.host.name">localhost</parameter>
                <parameter locked="false" name="mqtt.server.port">1883</parameter>
                <parameter locked="false" name="mqtt.client.id">esb.test.listener</parameter>
                <parameter locked="false" name="mqtt.topic.name">esb.test2</parameter>
        </parameter>
    </transportReceiver>

为了发布消息,我已经像这样配置了axis2.xml。

但我不知道如何发送

【问题讨论】:

    标签: wso2 wso2esb


    【解决方案1】:

    嗨,这里定义https://docs.wso2.com/display/ESB490/Sample+272%3APublishing+and+Subscribing+using+WSO2+ESB%27s+MQ+Telemetry+Transport

    您必须使用您的 mqtt 服务器设置创建一个端点

    <endpoint>
        <address uri="mqtt:/MyProxyName?mqtt.server.host.name=localhost&amp;mqtt.server.port=1883&amp;mqtt.client.id=esb.test.sender&amp;mqtt.topic.name=esb.test2&amp;mqtt.subscription.qos=2&amp;mqtt.blocking.sender=true"/>
    </endpoint>
    

    用你的设置改变

    mqtt.server.host.name:MQTT 消息代理的主机名。

    mqtt.server.port:客户端可以连接的服务器端口。 (默认为 1883)

    mqtt.topic.name:ESB 应该订阅的主题名称

    mqtt.client.id:用于从代理端识别 ESB

    然后将您的有效负载发送到此端点

    【讨论】:

    • 我必须在axis2.xml中提及主机名、端口、主题名称还是仅在端点中就足够了
    • 你必须在axis2中定义一个transportSender(如文档中提到的) .xml(transportReceiver是监听队列,transportSender是推送到队列)
    • 如果我使用代理服务器的 API 来调用 mqtt,我可以使用 MyAPIName 而不是 MyProxyName
    • 是的,我想你可以放任何你想要的东西
    猜你喜欢
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2016-03-06
    • 2022-06-14
    • 2014-03-22
    • 1970-01-01
    相关资源
    最近更新 更多