Send message from weblogic to JBoss
pepgrifell Jan 30, 2004 7:45 AMHi,
I´m trying to send a message from Weblogic Server 8.1 to Jboss 3.2.3 but I can´t. I´m newbie in weblogic.
I have defined a Foreign JMS Server in Weblogic with the parameters :
JNDI Initial Context Factory = org.jnp.interfaces.NamingContextFactory
JNDI Connection URL = jnp://192.134.22.169:1099
I have put as well the parameter java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
Then I have defined a Foreign JMS Connection Factory with the parameters :
Local JNDI Name = ConnectionFactory
Remote JNDI Name = ConnectionFactory // ConnectionFactory in JBoss
And a Foreign JMS Destination with the parameters :
Local JNDI Name = QNO.0001.L
Remote JNDI Name = queue/QNO.0001.L //queue created in JBoss
With the following code I should do a lookup to the JBoss queue :
InitialContext iniCtx = new InitialContext(); QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)iniCtx.lookup("ConnectionFactory"); queueConnectionFactory.createQueueConnection(); Queue queue = (Queue) iniCtx.lookup("QNO.0001.L");
but weblogic server throws this exception :
ERROR [ExecuteThread: '12' for queue: 'weblogic.kernel.Default'] (?:?) - Error in sendMessage(1)
org.jboss.mq.SpyJMSException: Cannot send a message to the JMS server; - nested throwable: (java.io.IOException: Class not found for unknown destination.)
at org.jboss.mq.Connection.sendToServer(Connection.java:1251)
at org.jboss.mq.SpySession.sendMessage(SpySession.java:732)
at org.jboss.mq.SpyQueueSender.internalSend(SpyQueueSender.java:118)
at org.jboss.mq.SpyQueueSender.send(SpyQueueSender.java:68)
at com.gft.mn.ejb.operation.Operation.sendMessage(Unknown Source)
at com.gft.mn.ejb.operation.OperationBeanAsync.processMessage(Unknown Source)
at com.gft.mn.ejb.operation.OperationBeanAsync_ytkq9e_ELOImpl.processMessage(OperationBeanAsync_ytkq9e_ELOImpl.java:4
at com.gft.mn.ejb.controller.ControllerBean.processMessage(Unknown Source)
at com.gft.mn.ejb.controller.ControllerBean_ed0lig_ELOImpl.processMessage(ControllerBean_ed0lig_ELOImpl.java:45)
at com.gft.mn.ejb.mdb.MDBean.onMessage(Unknown Source)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: java.io.IOException: Class not found for unknown destination.
at org.jboss.mq.SpyDestination.readDest(SpyDestination.java:112)
at org.jboss.mq.SpyMessage.readExternal(SpyMessage.java:828)
at org.jboss.mq.SpyTextMessage.readExternal(SpyTextMessage.java:78)
at org.jboss.mq.SpyMessage.readMessage(SpyMessage.java:726)
at org.jboss.mq.il.oil.OILServerILService$Client.run(OILServerILService.java:249)
at java.lang.Thread.run(Thread.java:536)
I tried to take out the "queue/" from the Remote JNDI Name but then I get this exception :
error lookuing up "QNO.0001.L"
javax.naming.NameNotFoundException: QNO.0001.L not bound
Has anyone know how to do this ? Thanks !