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

In Wso2 esb how to publish message using mqtt

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

但我不知道如何发送

您好,定义如下 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:用于从broker端识别ESB

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