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.
The JMS Broker Between the sender and receiver (aka producers and consumers) is a broker – an application server – that receives messages from producers and sends messages to consumers. The producers and consumers are completely decoupled.
No. Apache Kafka is a distributed publish-subscribe messaging system that receives data from disparate source systems and makes the data available to target systems in real time. Java message service is an api which are provided by Java. It is used for implementing messaging system in your application.
You could use JMX, EJB, RMI, a web-service call or a tuple-space such as gigaspaces, but this is slightly more tightly coupled as both client and server need to be active for the notification to be sent successfully.
The providers push the JMS message to queues and topics. The consumers pull the message from the broker.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With