views:

107

answers:

3

I just need notification system. javax.jms.* - good solution I think, but I can't understand what do I need to use JMS? I don't want to use any app. servers like GlassFish or Tomcat, I just would like to use standard jdk and myserver(very light) and myclient(very light too) and some MessageSystem to exchanging bitween myserver and myclient. As I understand to use JMS I need JMS Provider. For example: ActiveMQ. But I don't uderstand ActiveMQ needs any server?(GlassFish probably), and what kind of *.jar do I need from Java EE ?

+1  A: 

ActiveMQ runs as a standalone server; it requires the Java VM like any Java application but nothing else beyond that.

Amber
Ouh...It's good. And on the which side (client or server) ActiveMQ should be?
rauch
+2  A: 

JMS provider or more correctly a Message Broker can be a stand-alone application. Most of J2EE app servers include a broker inside them but yes we also have many very good stand alone JMS brokers, ActiveMQ is good, then there is OpenJMS and many others. And as they are stand alone they don't need another app server to run them. And they usually come with every needed jar as well :) SO you'll not need to copy any jar from other app-server to say ActiveMQ or OpenJMS.

Elister
Mmm. I need only ActiveMQ, javax.jms.jar and jdk, right?
rauch
Yes and you should get the JMS implementation jar with the message broker you are using. That is, there is no need to go hunt for the jar elsewhere. A Message broker which supports JMS standard has a JMS-implementation jar bundled with it. You'll need to have that jar in classpath only. In case of ActiveMQ it comes bundled with everything it requires.
Elister
A: 

Other stand alone JMS brokers (open source) which can be run standalone or even embedded in your Java application are Open Message Queue (OpenMQ) which is also included in GlassFish, and the new JBoss HornetQ message broker which will be the JMS implementation in JBoss application server.

mjustin