Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mosquitto-dev] [paho-dev] Java MQTT broker


small and simple is exactly what I hoped. If simplicity implies smallness and vice versa as I believe, we could simplify your motivations as well, to one of those.

Either way, that fits the spirit of MQTT perfectly :-)


On 23/01/14 14:45, Andrea Selva wrote:
Moquette has 2 development motivations, keep ti simple and small. The
simplicity is to avoid hard to understand thread synchronizations, and
been an event protocol I thought that an event based architecture
could grasp this (and the spirit itself of MQTT). The other is to keep
it small to be manageable and understandable by everybody. The concept
of SPI is just to let the users to decide which authentication
mechanism to use, without binding one with Moquette, so I expect top
provide simple hooks to be usable by plug-modules.
This is the spirit of Moquette project.


On Thu, Jan 23, 2014 at 3:04 PM, Ian Craggs
<icraggs@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
I agree the approach looks exciting.  The only question I have, does it
enlarge the size of the broker to a great extent?  The goal of RSMB, and I
believe Mosquitto (Roger, correct me if I'm wrong) is to be smaller rather
than faster.  (If it can be both small and fast, so much the better!)

Would the goal of Moquette also to be small?   That's how the Eclipse
Mosquitto project is currently described.

In any case, I'm in favour of Andrea contributing Moquette.


On 22/01/14 17:57, Paul Fremantle wrote:


I'm really excited about your approach. We at WSO2 have also done work
around Disruptor but based on the AMQP protocol. I'd love to get involved. I
also agree with having an SPI for security. JAAS is one option, but there
are simpler SPIs too.

I think your dependencies are all fine for Eclipse.


On 21 January 2014 20:48, Andrea Selva <selva.andre@xxxxxxxxx> wrote:
Hi Ian and Andy,

On Tue, Jan 21, 2014 at 7:16 PM, Andy Piper <andypiperuk@xxxxxxxxx> wrote:
Hi Andrea!

We've started to discuss this over the on the Paho mailing list, and
really excited about the possibility of you joining us. Maybe we could
include a Java broker implementation as part of the mosquitto project.

As Ian says, there are some legal things to consider here around use of
third party libraries and licenses, and your own decision to potentially
re-license moquette under EPL. Nothing that cannot be worked through, if
would like to join us.
I use some third party libraries, most of all are licensed with Apache
License v2 (it should be compliant with EPL) and the remaining
(slf4j-api and slf4j-log4j12) has a special license
that I don't know if it's EPL compliant but I expect so.
The third party libs are:
APLv2 commons-logging-1.1.jar
APLv2 disruptor-2.7.1.jar
APLv2 hawtbuf-1.9.jar
APLv2 hawtdb-1.6.jar
APLv2 log4j-1.2.17.jar
APLv2 netty
*custom license slf4j-api-1.7.5.jar
*custom license slf4j-log4j12-1.7.5.jar

One of the interesting things about having a Java broker would be the
possibility of making use of OSGi technology and fitting in with the
ecosystem. Any thoughts on that?
On OSGi side and the integration with Eclipse side I think that could
be a big plus for Moquette be OSGi compliant, exposing some activities
(or services) to be managed by other modules, so moving in the
direction to integrate with Eclipse workbench the most fruitful step
could be to provide a valid OSGi descriptor in the broker's jar.


On Tue, Jan 21, 2014 at 2:44 PM, Ian Craggs
<icraggs@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

thanks for the information.  It's not a problem how much time you have
available to work on it, I was asking more for information. Many great
projects have been completed in "spare" time!

I assume that the 3rd party libraries are open source and are licensed
a way that Eclipse will find acceptable.  But that would be reviewed by
Eclipse legal as part of the contribution process.

Isn't a JAAS interface the obvious way to implement authentication and
About the authentication side I was thinking to provide an SPI and let
other modules give the implementation, maybe using JAAS or JSecurity
that seems more manageable (I don't know the details because I've
always experienced web security with Spring Security).

A key advantage of a Java broker over one implemented in C would be the
way it could integrate into the Eclipse workbench.  That is something I
would be keen to make sure works well.


On 20/01/14 20:01, Andrea Selva wrote:
Hi Ian,

moquette is is MQTT 3.1 compliant, but ha some part to be developer
better, for example it need a better implementation of QoS 1-2
messages handling. Moquette lacks an authentication mechanism (by now
there is just a dummy interface to be extended) but I expect to
introduce a plug system based on java's ServiceLocator APIs. Moquette
lacks also a mechanism to manage and monitor it (I'm thinking to
create some JMX stuff) and completely miss a configuration system (no
conf directory to fill with properties or xml files); so I expect to
be quite behind of Mosquitto.

   Also Moquette hasn't any documentation on google code, an area that
should be improved a lot.

On the architectural side, Moquette has a front Netty parsing library
that push MQTT decoded messages in a LMAX's magic ring buffer, the
protocol logic pulls out event from this queue and process them in
single threaded fashion ( a single thread event processor), than use
another ring buffer on the back to send out the MQTT messages (always
using Netty).

By now there is only me involved in the development, and usually I try
to handle the development in the evening or during spare weekends, I
know is not so much.

Ask me any question, I'll try to give you answers.

Best regards

    Andrea Selva

On Mon, Jan 20, 2014 at 12:42 PM, Ian Craggs
<icraggs@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
Hi Andrea,

thanks for your input, there certainly is a chance!

Can you summarize what functions are implemented in moquette at the
and what you think is left to do (in comparison to Mosquitto for
Is there some documentation to look at?

It would be cool, although not essential, if each of the brokers were
configured in a similar way.  How is moquette configured?

Are there any developers other than you?   How much time do you think
would be able to spend on maintaining and improving it, if it were in


Ian Craggs

On 18/01/14 11:26, Andrea Selva wrote:
Hi mosquitto list,
I'm Andrea Selva the moquette broker's developer and lately (thanks
Kai Kreuzer) I've seen that there is a chance that the M2M is
eventually interested in accepting the moquette broker as a starting
implementation of a Paho Java broker. That, for me, sounds great!!
available to discuss this topic.

Best regards

     Andrea Selva
mosquitto-dev mailing list

mosquitto-dev mailing list

Andy Piper | Kingston upon Thames, London (UK)
blog:   |   skype: andypiperuk
twitter: @andypiper  |  images:


mosquitto-dev mailing list

Paul Fremantle
Part-time PhD student - School of Computing
email: paul.fremantle@xxxxxxxxxx, paul@xxxxxxxxxxxxx
twitter: pzfreo / skype: paulfremantle / blog:
CTO and Co-Founder, WSO2
OASIS WS-RX TC Co-chair, Apache Member
07740 199 729

mosquitto-dev mailing list

mosquitto-dev mailing list

mosquitto-dev mailing list

Back to the top