在Wso2 ESB中如何使用mqtt发布消息

时间:2018-07-03 07:46:14

标签: wso2 wso2esb

在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。

但是我不知道如何发送

1 个答案:

答案 0 :(得分:0)

您好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

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