Hello
all,
My
developers have been fighting with the JMS implentation in Orion so I
decided to play around with getting one of the open source JMS implentation to
work with Orion. At the bottom of this email are the steps to get OpenJMS
working and the changes you need to make to your applications to use
it.
I havn't been able
to test it too much, but in our limited tests everything seems to work. So
far, all of the problems that we were having with Orion's JMS implementation
have gone away so this at least meets our short term needs until Orion's JMS is
working (hopefully soon)...
Regards,
Jon
Lipsky
--------------------------------------------------------------------
Using OpenJMS with
Orion
1. Download OpenJMS
from http://www.openjms.org
2. Extract the
OpenJMS archive on your machine and follow the intructions for building
OpenJMS.
(execute the command "build all")
(execute the command "build all")
3. Copy the
following files to your /lib directory your Orion
installation:
${OPENJMS_HOME}/dist/openjms-0.5.jar
${OPENJMS_HOME}/dist/openjms-client-0.5.jar
${OPENJMS_HOME}/dist/openjms-rmi-0.5.jar
${OPENJMS_HOME}/lib/log4j.jar
${OPENJMS_HOME}/lib/exolabcore-0.1.jar
${OPENJMS_HOME}/lib/jakarta-regexp-1.1.jar
${OPENJMS_HOME}/lib/tyrex-0.9.6.1.jar
${OPENJMS_HOME}/dist/openjms-0.5.jar
${OPENJMS_HOME}/dist/openjms-client-0.5.jar
${OPENJMS_HOME}/dist/openjms-rmi-0.5.jar
${OPENJMS_HOME}/lib/log4j.jar
${OPENJMS_HOME}/lib/exolabcore-0.1.jar
${OPENJMS_HOME}/lib/jakarta-regexp-1.1.jar
${OPENJMS_HOME}/lib/tyrex-0.9.6.1.jar
4. Start the OpenJMS
server
(execute the command "admin -config valid_jms.xml", and then use the menu item "Start OpenJMSServer")
(execute the command "admin -config valid_jms.xml", and then use the menu item "Start OpenJMSServer")
5. Create any
Queue's or Topic's you want to use in your application using the admin
application.
6. Modify your
applications to use a different context factory to when they create their JMS
connection factories:
Hashtable
props = new Hashtable();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.exolab.jms.jndi.rmi.RmiJndiInitialContextFactory");
Context context = new InitialContext(props);
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.exolab.jms.jndi.rmi.RmiJndiInitialContextFactory");
Context context = new InitialContext(props);
7. By default the
Queue connection factory can be found at the JNDI name
"JmsQueueConnectionFactory",
so your may need to change your application or the change the JNDI location used by OpenJMS:
so your may need to change your application or the change the JNDI location used by OpenJMS:
QueueConnectionFactory _factory =
(QueueConnectionFactory)context.lookup("JmsQueueConnectionFactory");
