THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Wiki Markup |
---|
h2. MQTT Component The *mqtt:* component is used for communicating with [MQTT|http://mqtt.org] compliant message brokers, like [Apache ActiveMQ|http://activemq.apache.org] or [Mosquitto|http://mosquitto.org] Camel will poll the feed every 60 seconds by default. *Note:* The component currently only supports polling (consuming) feeds. Maven users will need to add the following dependency to their {{pom.xml}} for this component: {code:xml} <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-mqtt</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency> {code} h3. URI format {code} mqtt://name[?options] {code} Where *name* is the name you want to assign the component. h3. Options {div:class=confluenceTableSmall} || Property || Default || Description || | {{host}} | {{tcp://127.0.0.1:1883}} | The URI of the MQTT broker to connect too - this component also supports SSL - e.g. _ssl://127.0.0.1:8883_| | {{localAddress}} | | The local InetAddress and port to use | | {{connectAttemptsMax}} | {{-1}} | The maximum number of attempts to establish an initial connection - *_-1_* in infinite. | | {{reconnectAttemptsMax}} | {{-1}} | The maximum number of attempts to re-establish a connection after failure - *_-1_* in infinite. | | {{reconnectDelay}} | {{10}} | The time in milliseconds between attempts to reestablish an initial or failed connection | | {{reconnectBackOffMultiplier}} | {{2.0}} | The multiplier to use to the delay between connection attempts for successive failed connection attempts | | {{reconnectDelayMax}} | {{30000}} | The maximum time in milliseconds between a new attempt to establish a connection. So even using the reconnectBackOffMultiplier, this property will define the maximum delay before another connection attempt to the MQTT broker | | {{QoS}} | {{AtLeastOnce}} | The MQTT Quality of Service to use for message exchanges. It can be one of *AtMostOnce*, *AtLeastOnce* or *ExactlyOnce* | | {{subscribeTopicName}} | | The name of the Topic to subscribe to for messages | | {{publishTopicName}} | {{_camel/mqtt/test_}} | The default Topic to publish messages on | | {{byDefaultRetain}} | {{false}} | The default retain policy to be used on messages sent to the MQTT broker| | {{mqttTopicPropertyName}} | {{_MQTTTopicPropertyName+}} | The property name to look for on an Exchange for an individual published message. If this is set - the name will be used as the Topic to publish a message to the MQTT message broker. | | {{mqttRetainPropertyName}} | {{MQTTRetain}} | The property name to look for on an Exchange for an individual published message. If this is set (expects a Boolean value) - then the retain property will be set on the message sent to the MQTT message broker. | | {{mqttQosPropertyName}} | {{MQTTQos}} | The property name to look for on an Exchange for an individual published message. If this is set (one of *AtMostOnce*, *AtLeastOnce* or *ExactlyOnce* ) - then that QoS will be set on the message sent to the MQTT message broker. | | {{connectWaitInSeconds}} | {{10}} | Delay in seconds the Component will wait for a connection to be established to the MQTT broker | | {{disconnectWaitInSeconds}} | {{5}} |the number of seconds the Component will wait for a valid disconnect on stop() from the MQTT broker | | {{sendWaitInSeconds}} | {{5}} | The maximum time the Component will wait for a receipt from the MQTT broker to acknowledge a published message before throwing an exception| {div} You can append query options to the URI in the following format, {{?option=value&option=value&...}} h3. Samples Sending messages: {code} from("direct:foo").to("mqtt:cheese?publishTopicName=test.mqtt.topic"); {code} Consuming messages: {code} from("mqtt:bar?subscribeTopicName=test.mqtt.topic").transform(body().convertToString()).to("mock:result") {code} {include:Endpoint} |