This content has been marked as final.
Show 8 replies
-
1. Re: Foreign JMS server connection issue.
668906 May 4, 2009 1:13 PM (in response to 699536)Provide the provider url in the weblogic-ejb.jar.xml for the MDB :-1 person found this helpful
<message-driven-descriptor>
<provider-url>URL:Port</provider-url>
</message-driven-descriptor>
http://e-docs.bea.com/wls/docs92/ejb/DDreference-ejb-jar.html#wp1115294 -
2. Re: Foreign JMS server connection issue.
Dongbo Xiao-Oracle May 4, 2009 1:33 PM (in response to 699536)You usually would see this error when either there is any configuration error in your MDB deployment descriptor file or annotations, or the remote destination is not up when a MDB is deployed.1 person found this helpful
If your MDB and foreign JMS server configuration are on the same WebLogic Server or in the same WebLogic cluster, null provider url is fine.
The jndi name of the destination configured for the MDB to listen on seems to be suspicious according to the information given in the error message -- "The destination JNDI name is weblogic.bbmdb-txn.jms/systemmodule-0-jms.xml". -
3. Re: Foreign JMS server connection issue.
699536 May 4, 2009 7:47 PM (in response to Dongbo Xiao-Oracle)Thanks Dongbo and mchellap!!
The issue was, i was trying to use the jms module set up through admin console.(or using wrappers)
If you use wrappers you dont need to give the provier-url and intial context class in the weblogic-ejb-jar file. I was providing the initial context class in the weblogic-ejb-jar.
Hope this helps others. -
4. Re: Foreign JMS server connection issue.
User10309429-Oracle Jun 19, 2009 10:19 AM (in response to 699536)I m facing the same problem, we are using Weblogic Server 10.3.
We have defined a cluster on one Weblogic server and have created one managed server in the cluster machine and the other managed server in another machine.
We are using Foreign JMS and I m getting the error as follow:
####<Jun 19, 2009 3:30:53 PM IST> <Warning> <EJB> <iflexpkw513> <Managed1> <[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1245405653881> <BEA-010061> <The Message-Driven EJB: TestJMSALSB is unable to connect to the JMS destination: fcssi/FCSSI. The Error was:
Can not get distribute destination information. The destination JNDI name is fcssi/FCSSI, the provider URL is null>
Not able to understand what is the problem here...
ejb-jar.xml :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar id="ejb-jar_ID">
<enterprise-beans>
<message-driven>
<ejb-name>TestJMSALSB</ejb-name>
<ejb-class>samplemdb.TestJMSALSB</ejb-class>
<transaction-type>Container</transaction-type>
<message-driven-destination id="MessageDrivenDestination_1169302343246">
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
</message-driven>
</enterprise-beans>
</ejb-jar>
weblogic-ejb-jar.xml :
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-ejb-jar
xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>TestJMSALSB</ejb-name>
<message-driven-descriptor>
<destination-jndi-name>fcssi/FCSSI</destination-jndi-name>
<connection-factory-jndi-name>iflex/fcssiQCF</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
Can anyone provide some help on this..... -
5. Re: Foreign JMS server connection issue.
Tom B-Oracle Jun 23, 2009 6:31 PM (in response to User10309429-Oracle)The Message Driven bean section of the WebLogic EJB programmer's guide walks through the required steps in detail. There's also a JMS integration FAQ. Links:
http://edocs.bea.com/wls/docs103/ejb/message_beans.html
http://edocs.bea.com/wls/docs103/jms/interop.html
Tom -
6. Re: Foreign JMS server connection issue.
723829 Sep 22, 2009 5:50 PM (in response to 699536)Hi,
I am facing very similar issue that you faced but I have not given any context class or provider URL in my MDB annotation. Can you please share your annotations to MDB and also any specific configuration you did while setting foriegn JMS server?
Your help will be much appreciated.
Thanks
Vishal -
7. Re: Foreign JMS server connection issue.
Tom B-Oracle Sep 23, 2009 4:04 PM (in response to 723829)Hi,
Annotations are not currently well documented. If you want to try and use annotations to specify an MDB's source destination then, in the case of a foreign or remote destination, I think you will need to (A) configure a foreign JMS server, connection factory, and destination, then (B) specify the annotations that reference the local JNDI names of the connection factory and destination as specified by your foreign JMS configuration.
I think this will work in 10.3 (not sure about 10.0).
You can start by reading the current documentation about Foreign JMS integration. Use the same two links I supplied earlier for the Message Driven bean section of the WebLogic EJB programmer's guide and the JMS integration FAQ:
http://edocs.bea.com/wls/docs103/ejb/message_beans.html
http://edocs.bea.com/wls/docs103/jms/interop.html
As for the annotations themselves, they need to reference the local JNDI names of the connection factory and destination as specified by your foreign JMS configuration. I think this will work in 10.3 (not sure about 10.0):
package test; import javax.annotation.Resource; import javax.ejb.*; import javax.jms.*; @MessageDriven(mappedName = "Local-JNDI-Name-For-Remote-Q", activationConfig = { @ActivationConfigProperty( propertyName = "connectionFactoryJndiName", propertyValue = "Local-JNDI-Name-For-Remote-CF") } ) public class MyMDB implements MessageListener { @TransactionAttribute(TransactionAttributeType.REQUIRED) public void onMessage(Message message) { System.out.println("Got the message: " + message); } }
-
8. Re: Foreign JMS server connection issue.
User696-Oracle Sep 23, 2009 2:51 AM (in response to 699536)Configuration on Weblogic Console
------------------------------------
- Open admin console and create a Foreign JMS Server.
- While creating foreign JMS Server provide following in JNDI properties:
JNDI Initial Context Factory: com.tibco.tibjms.naming.TibjmsInitialContextFactory
JNDI Connection URL: tibjmsnaming://localhost:7222(or server on which tibco is listening)
JNDI Properties Credential:=test(username of tibco)
Confirm JNDI Properties Credential:test(password of tibco)
java.naming.security.principal=test(password of tibco)
Thanks
Edited by: user743265 on Sep 22, 2009 7:51 PM