Hi
I am trying to interface a web application with Websphere MQ series. The basic
requirement is that I need to send a xml message to a MQ queue. And then listen
to another MQ queue for the response and display the response back to the web
user.
I tried a simple program that worked OK as follows -
1. Created/ Defined the Websphere MQ Connection factory / Queue using the
JMSAdmin tool (Webspeher MQ 6.0 is installed on Solaris 10).
2. The JNDI context used for the JMSAdmin tool was the JNDI namespace of the
JBoss server that is on another machine.
The JNDI was sucessfully accepted by JMSAdmin since the following is displayed
when starting JMSAdmin
Initializing JNDI Context...
INITIAL_CONTEXT_FACTORY: org.jnp.interfaces.NamingContextFactory
PROVIDER_URL: jnp://192.168.84.55:2099/
Done.
3. Defined the connection factory as follows
DEFINE CF(java:/jms.cnxFactory) +
SYNCPOINTALLGETS(YES) +
TRAN(client) +
HOST(192.168.14.204) CHAN(SVRCONN.MYSRV) PORT(1414) QMGR(MYSRV.QMGR)
DEFINE Q(java:/jms.myOwnQueue) QMGR(MYSRV.QMGR) QUEUE(MYQUEUE)
4. I wrote a simple java program that did the following
java.util.Hashtable environment = new java.util.Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
environment.put(Context.PROVIDER_URL, "jnp://192.168.84.55:2099/");
Context ctx = new InitialDirContext( environment );
ConnectionFactory factory = (ConnectionFactory)
ctx.lookup("java:/jms.cnxFactory");
And then I did a lookup of the queue and was able to put messages to the MQ
sucessfully. I was also able to read from the same queue via JMS.
5. I then tried out the same on my web application that uses struts - ejb
(session beans only). I did the same call as above from my struts layer. I was
expecting the context to be retrived and that I can send the messages. But I
got a Naming exception saying the jndi name was not bound. The web application
is deployed on the same Jboss server.
Why is it that the jndi lookup fails when called from the web application while
it is OK from a simple java program that is outside the jboss container ?
6. I would want to move the context looup and send / receive of messages via
JMS into/from the MQ queue using session beans. I could only find MDB
examples. My requirement requires that I manage the transaction such that
session bean handles the message send / recieve to simulate a synchronous call.
So, I cannot use MDB since it would then be async. Any thought on where I could
get some documentation to configure Jboss to allow the session beans to do the
jndi lookup to the JMS queues whihc have teh Webpshere MQ as the provider ?
Thanks
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204947#4204947
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4204947
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user