From 39f048910a37c27b1b69a4ff3d7214dde78a09e3 Mon Sep 17 00:00:00 2001 From: "selva.andre" Date: Sun, 26 Jan 2014 12:09:37 +0100 Subject: [PATCH 1/5] Added basic definition of osgi descriptor to the broker --- .gitignore | 3 +- bundle/pom.xml | 116 ++++++++++++++++++ .../dna/mqtt/moquette/bundle/Activator.java | 30 +++++ pom.xml | 1 + 4 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 bundle/pom.xml create mode 100644 bundle/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java diff --git a/.gitignore b/.gitignore index 6f63cb31..b998519d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,5 @@ client/target/ /parser_commons/target/netty_parser/target/ netty_parser/target/ parser_commons/target/ -/distribution/target/ \ No newline at end of file +/distribution/target/ +/bundle/target/ \ No newline at end of file diff --git a/bundle/pom.xml b/bundle/pom.xml new file mode 100644 index 00000000..58469191 --- /dev/null +++ b/bundle/pom.xml @@ -0,0 +1,116 @@ + + + + 4.0.0 + + + ../ + + moquette-parent + org.dna.mqtt + 0.5-SNAPSHOT + + moquette-bundle + + bundle + + + + Moquette - bundle + + + UTF-8 + + + + + org.slf4j + slf4j-api + 1.7.5 + + + org.apache.felix + org.osgi.core + 1.0.0 + + + org.apache.felix + org.osgi.compendium + 1.0.0 + + + org.dna.mqtt + moquette-broker + 0.5-SNAPSHOT + provided + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + org.apache.felix + maven-bundle-plugin + 2.1.0 + true + + + org.dna.mqtt.commons + org.dna.mqtt.moquette.bundle, + ${project.groupId}.* + + + + * + * + + ${project.groupId}.moquette.bundle.Activator + + + + + + org.ops4j + maven-pax-plugin + 1.4 + + + 1.4.0 + + equinox + + + + + + + + + \ No newline at end of file diff --git a/bundle/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java b/bundle/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java new file mode 100644 index 00000000..b44f9b2b --- /dev/null +++ b/bundle/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java @@ -0,0 +1,30 @@ +package org.dna.mqtt.moquette.bundle; + +import org.dna.mqtt.moquette.server.Server; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Start and stop a configured version of the MQTT broker server. + * + * @author Didier Donsez + * @todo add config admin for port (in NettyAcceptor) + */ +public class Activator implements BundleActivator { + + private static final Logger LOG = LoggerFactory.getLogger(Server.class); + private Server server = null; + + public void start(BundleContext bundleContext) throws Exception { + server = new Server(); + server.startServer(); + LOG.info("Moquette MQTT broker started, version 0.5-SNAPSHOT"); + } + + public void stop(BundleContext bundleContext) throws Exception { + server.stopServer(); + LOG.info("Moquette MQTT broker stopped, version 0.5-SNAPSHOT"); + } +} diff --git a/pom.xml b/pom.xml index 44c5b19b..cd1a1d1c 100644 --- a/pom.xml +++ b/pom.xml @@ -20,6 +20,7 @@ netty_parser broker distribution + bundle From b027e49f33f72b3611ee43350a74946cd30100b9 Mon Sep 17 00:00:00 2001 From: "selva.andre" Date: Sun, 26 Jan 2014 13:03:34 +0100 Subject: [PATCH 2/5] Redefined the broker OSGi dependencies --- bundle/pom.xml | 83 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 59 insertions(+), 24 deletions(-) diff --git a/bundle/pom.xml b/bundle/pom.xml index 58469191..12459bd6 100644 --- a/bundle/pom.xml +++ b/bundle/pom.xml @@ -27,6 +27,13 @@ org.slf4j slf4j-api 1.7.5 + provided + + + org.slf4j + slf4j-log4j12 + 1.7.5 + provided org.apache.felix @@ -44,6 +51,54 @@ 0.5-SNAPSHOT provided + + + commons-logging + commons-logging + 1.1.3 + + + io.netty + netty-common + 4.0.8.Final + provided + + + io.netty + netty-buffer + 4.0.8.Final + provided + + + io.netty + netty-transport + 4.0.8.Final + provided + + + io.netty + netty-handler + 4.0.8.Final + provided + + + io.netty + netty-codec + 4.0.8.Final + provided + + + org.fusesource.hawtbuf + hawtbuf + 1.9 + provided + + + org.fusesource.hawtdb + hawtdb + 1.6 + provided + @@ -56,15 +111,7 @@ 1.5 - + org.apache.felix maven-bundle-plugin @@ -72,24 +119,12 @@ true - org.dna.mqtt.commons + org.dna.mqtt.commons, org.apache.commons.logging org.dna.mqtt.moquette.bundle, - ${project.groupId}.* - + ${project.groupId}.*, + com.lmax.* - * - * - ${project.groupId}.moquette.bundle.Activator From ccbfe049885b6c84c801df4609bdeb037a4191bf Mon Sep 17 00:00:00 2001 From: andrea Date: Tue, 28 Jan 2014 23:04:07 +0100 Subject: [PATCH 3/5] Added the OSGi exporting of packages used by HawDB module (serialized classes of subscription and PublishEvent) --- bundle/pom.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bundle/pom.xml b/bundle/pom.xml index 12459bd6..d46988ef 100644 --- a/bundle/pom.xml +++ b/bundle/pom.xml @@ -119,7 +119,13 @@ true - org.dna.mqtt.commons, org.apache.commons.logging + org.dna.mqtt.commons, + org.apache.commons.logging, + org.dna.mqtt.moquette.messaging.spi.impl.storage, + org.dna.mqtt.moquette.messaging.spi.impl.subscriptions, + org.dna.mqtt.moquette.proto.messages, + org.dna.mqtt.moquette.server.netty.metrics + org.dna.mqtt.moquette.bundle, ${project.groupId}.*, com.lmax.* From c69ff170485e75b702d424267b7b5fddae1cdd2e Mon Sep 17 00:00:00 2001 From: "selva.andre" Date: Tue, 28 Jan 2014 23:24:19 +0100 Subject: [PATCH 4/5] Moved the bundle creation of the broker from outside bundle module to inside broker module --- broker/pom.xml | 114 ++++++++++++- .../dna/mqtt/moquette/bundle/Activator.java | 0 bundle/pom.xml | 157 ------------------ pom.xml | 1 - 4 files changed, 109 insertions(+), 163 deletions(-) rename {bundle => broker}/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java (100%) delete mode 100644 bundle/pom.xml diff --git a/broker/pom.xml b/broker/pom.xml index dd547ca0..836769ca 100644 --- a/broker/pom.xml +++ b/broker/pom.xml @@ -11,7 +11,7 @@ moquette-broker - jar + bundle Moquette - broker @@ -41,20 +41,84 @@ org.slf4j - slf4j-log4j12 + slf4j-api 1.7.5 + provided - org.fusesource.hawtdb - hawtdb - 1.6 + org.slf4j + slf4j-log4j12 + 1.7.5 + provided + + + + org.apache.felix + org.osgi.core + 1.0.0 + + + + org.apache.felix + org.osgi.compendium + 1.0.0 + + + + + commons-logging + commons-logging + 1.1.3 + + + + io.netty + netty-common + 4.0.8.Final + provided + + + + io.netty + netty-buffer + 4.0.8.Final + provided + + + + io.netty + netty-transport + 4.0.8.Final + provided + + + + io.netty + netty-handler + 4.0.8.Final + provided + + + + io.netty + netty-codec + 4.0.8.Final + provided org.fusesource.hawtbuf hawtbuf 1.9 + provided + + + + org.fusesource.hawtdb + hawtdb + 1.6 + provided @@ -107,6 +171,46 @@ + + + org.apache.felix + maven-bundle-plugin + 2.1.0 + true + + + org.dna.mqtt.commons, + org.apache.commons.logging, + org.dna.mqtt.moquette.messaging.spi.impl.storage, + org.dna.mqtt.moquette.messaging.spi.impl.subscriptions, + org.dna.mqtt.moquette.proto.messages, + org.dna.mqtt.moquette.server.netty.metrics + + org.dna.mqtt.moquette.bundle, + ${project.groupId}.*, + com.lmax.* + + * + ${project.groupId}.moquette.bundle.Activator + + + + + + org.ops4j + maven-pax-plugin + 1.4 + + + 1.4.0 + + equinox + + + + + diff --git a/bundle/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java b/broker/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java similarity index 100% rename from bundle/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java rename to broker/src/main/java/org/dna/mqtt/moquette/bundle/Activator.java diff --git a/bundle/pom.xml b/bundle/pom.xml deleted file mode 100644 index d46988ef..00000000 --- a/bundle/pom.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - - 4.0.0 - - - ../ - - moquette-parent - org.dna.mqtt - 0.5-SNAPSHOT - - moquette-bundle - - bundle - - - - Moquette - bundle - - - UTF-8 - - - - - org.slf4j - slf4j-api - 1.7.5 - provided - - - org.slf4j - slf4j-log4j12 - 1.7.5 - provided - - - org.apache.felix - org.osgi.core - 1.0.0 - - - org.apache.felix - org.osgi.compendium - 1.0.0 - - - org.dna.mqtt - moquette-broker - 0.5-SNAPSHOT - provided - - - - commons-logging - commons-logging - 1.1.3 - - - io.netty - netty-common - 4.0.8.Final - provided - - - io.netty - netty-buffer - 4.0.8.Final - provided - - - io.netty - netty-transport - 4.0.8.Final - provided - - - io.netty - netty-handler - 4.0.8.Final - provided - - - io.netty - netty-codec - 4.0.8.Final - provided - - - org.fusesource.hawtbuf - hawtbuf - 1.9 - provided - - - org.fusesource.hawtdb - hawtdb - 1.6 - provided - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - - - org.apache.felix - maven-bundle-plugin - 2.1.0 - true - - - org.dna.mqtt.commons, - org.apache.commons.logging, - org.dna.mqtt.moquette.messaging.spi.impl.storage, - org.dna.mqtt.moquette.messaging.spi.impl.subscriptions, - org.dna.mqtt.moquette.proto.messages, - org.dna.mqtt.moquette.server.netty.metrics - - org.dna.mqtt.moquette.bundle, - ${project.groupId}.*, - com.lmax.* - - * - ${project.groupId}.moquette.bundle.Activator - - - - - - org.ops4j - maven-pax-plugin - 1.4 - - - 1.4.0 - - equinox - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index cd1a1d1c..44c5b19b 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,6 @@ netty_parser broker distribution - bundle From adf41722f55281e12dee5dd8bb353c7239296d62 Mon Sep 17 00:00:00 2001 From: "selva.andre" Date: Tue, 28 Jan 2014 23:31:21 +0100 Subject: [PATCH 5/5] Updated ChangeLog --- .gitignore | 8 +++++--- ChangeLog.txt | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index b998519d..69b3cb48 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,10 @@ *.iml broker/target/ client/target/ -/parser_commons/target/netty_parser/target/ +parser_commons/target/ +netty_parser/target/ netty_parser/target/ parser_commons/target/ -/distribution/target/ -/bundle/target/ \ No newline at end of file +distribution/target/ +broker/moquette.log +broker/runner diff --git a/ChangeLog.txt b/ChangeLog.txt index 9ac9441b..83f21709 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,7 +1,9 @@ Version 0.5: Fix issue 20 (no flush of message on PINGREQ) Fix issue 21 (bad channel timeout handler) - + Created a self contained distribution package (issue 22) + Fix issue 28, OSGi-fied the broker + Version 0.4: Dropped support for MINA Fix Issue 15 (bad re-activation of client's subscriptions after a recconection)