Merge pull request #47 from ghillert/INTEXT-68

INTEXT-68 - Update MQTT dependency
This commit is contained in:
Gunnar Hillert
2013-05-16 07:42:50 -07:00
2 changed files with 26 additions and 36 deletions

View File

@@ -1,26 +1,27 @@
Spring Integration Mqtt Adapters
=================================================
Spring Integration MQTT Support
===============================
`inbound` and `outbound` channel adapters are provided for [MQ Telemetry Transport (MQTT)][]. The current implementation uses the [Eclipse Paho][] client.
Example configurations...
## Example Configurations
<int-mqtt:message-driven-channel-adapter id="twoTopicsAdapter"
```xml
<int-mqtt:message-driven-channel-adapter id="twoTopicsAdapter"
client-id="foo"
url="tcp://localhost:1883"
topics="bar, baz"
channel="out" />
<int-mqtt:outbound-channel-adapter id="withDefaultConverter"
client-id="foo"
url="tcp://localhost:1883"
topics="bar, baz"
channel="out" />
default-qos="1"
default-retained="true"
default-topic="bar"
channel="target" />
```
<int-mqtt:outbound-channel-adapter id="withDefaultConverter"
client-id="foo"
url="tcp://localhost:1883"
default-qos="1"
default-retained="true"
default-topic="bar"
channel="target" />
Spring integration messages sent to the outbound adapter can have headers `mqtt_topic, mqtt_qos, mqtt_retained` which will override the defaults configured on the adapter.
*Spring Integration* messages sent to the outbound adapter can have headers `mqtt_topic, mqtt_qos, mqtt_retained` which will override the defaults configured on the adapter.
Inbound messages will have headers
@@ -28,25 +29,19 @@ Inbound messages will have headers
mqtt_duplicate - true if the message is a duplicate
mqtt_qos - the quality of service
Both adapters use a `MqttPahoClientFactory` to get a client instance; the same factory also provides connection options from configured properties (such as user/password). The client factory bean (`DefaultMqttPahoClientFactory`) is provided to the adapter using the `client-factory` attribute. When not provided, a default factory instance is used.
Currently tested with the RabbitMQ MQTT plugin.
##Note:
Currently, the Paho java client is not mavenized; there is an [open paho bug][] to resolve this. In the meantime, you can manually add the jar to your maven repo:
mvn install:install-file -DgroupId=org.eclipse.paho -DartifactId=MQTT-Java -Dversion=3.0 -Dpackaging=jar -Dfile=/path/to/org.eclipse.paho.client.mqttv3.jar
## Support
Check out the [Spring Integration forums][] and the [spring-integration][spring-integration tag] tag
on [Stack Overflow][]. [Commercial support][] is available, too.
## Resources
* [Eclipse Paho][]
## Related GitHub projects
* [Spring Integration][]
@@ -58,10 +53,6 @@ on [Stack Overflow][]. [Commercial support][] is available, too.
For more information, please also don't forget to visit the [Spring Integration][] website.
## Eclipse Paho
* [Eclipse Paho][]
[Spring Integration]: https://github.com/SpringSource/spring-integration
[Commercial support]: http://springsource.com/support/springsupport
[Spring Integration forums]: http://forum.springsource.org/forumdisplay.php?42-Integration

View File

@@ -16,7 +16,6 @@ group = 'org.springframework.integration'
repositories {
maven { url 'http://repo.springsource.org/libs-snapshot' }
maven { url 'http://repo.springsource.org/plugins-release' }
mavenLocal()
}
sourceCompatibility=1.6
@@ -29,8 +28,8 @@ ext {
springVersion = '3.1.3.RELEASE'
springIntegrationVersion = '3.0.0.BUILD-SNAPSHOT'
idPrefix = 'mqttadapter'
idPrefix = 'mqtt'
linkHomepage = 'https://github.com/SpringSource/spring-integration-extensions'
linkCi = 'https://build.springsource.org/browse/INTEXT'
linkIssue = 'https://jira.springsource.org/browse/INTEXT'
@@ -60,8 +59,8 @@ configurations {
}
dependencies {
compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion"
compile "org.eclipse.paho:MQTT-Java:3.0"
compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion"
compile "org.eclipse.paho:mqtt-client:0.2.1"
testCompile "org.springframework.integration:spring-integration-test:$springIntegrationVersion"
testCompile "junit:junit-dep:$junitVersion"
testCompile "log4j:log4j:$log4jVersion"