28

I'm looking for a small and yet efficient enough lightweight JMS broker solution with no or minimum of dependencies. My messaging code should be running in the environment with a lot of dependencies I have no control of. Thus it would make ridiculous to deploy say ActiveMQ solution along with my custom bunch of classes.

tshepang
  • 12,111
  • 21
  • 91
  • 136
nixau
  • 1,095
  • 1
  • 14
  • 27

5 Answers5

14

Currently I'm investigating FFMQ solution. It's open source (GNU LGPL license), has only 4 dependencies (commons-logging, log4j, jms and jmx), and it's mature enough to accomplish my goals.

E-Riz
  • 31,431
  • 9
  • 97
  • 134
nixau
  • 1,095
  • 1
  • 14
  • 27
  • is there any pointers on how to send and receive messages over a queue created in FFMQ. I googled it but never found one. – prassee Apr 01 '13 at 05:26
  • I like small projects :) Has FFMQ common wire protocols, to integrate not only with java? – Jacek Cz Sep 20 '15 at 12:31
5

Especially if you're using spring, don't count activemq out. You can also run it as an embedded server, and it isn't really all that heavyweight.

Look at: http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html

Andrew B
  • 839
  • 9
  • 14
  • 1
    My code is running in a healthy server environment with the fixed set of dependencies. Usage of Spring container along with ActiveMQ broker would compromise server (dependencies could be overridden, possible class loading issues etc). So I ruled out such heavy solutions in the first place – nixau Mar 25 '10 at 11:03
  • You don't necessarily have to use spring in this configuration. You can start the embedded broker purely from java. By itself, activemq doesn't have many external dependencies. That said, I understand what you're saying about trying to keep things as lightweight as possible. – Andrew B Mar 25 '10 at 11:34
  • I tried to deploy ActiveMQ at first, but it has crashed the ecosystem of my server. It proved to have just enough of dependencies to break it)) – nixau Mar 25 '10 at 12:05
  • That and every solaris server I have tried to get ActiveMQ on it crashes after a few days with no errors being reported. – corydoras Oct 01 '10 at 04:05
4

I assume that you are looking for lightweight solutions for JMS provider and dont want go with (EMS, Apache etc.) but still need to use JMS.

Have a look at Building a Lightweight JMS Provider may be this is what you need.

Paul Vargas
  • 41,222
  • 15
  • 102
  • 148
soody
  • 159
  • 1
  • 4
2

If JMS is not a hard requirement, and you are simply looking for a Messaging/Event system, you should take a look at Java EE 6 Events:

http://java.dzone.com/articles/java-ee6-events-lightweight

yglodt
  • 13,807
  • 14
  • 91
  • 127
1

However ActiveMQ distribution is large, it can be shrinked down to a few jar about 3MB all

user908510
  • 21
  • 2