[jboss-user] [JCA/JBoss] - Issues connecting to Tibco EMS

davidyo do-not-reply at jboss.com
Wed Jan 14 05:51:44 EST 2009


I have having problems connecting a MDB to our EMS server I have followed the instructions on the wiki http://www.jboss.org/community/docs/DOC-10053. I am getting the following error. 

  | 2009-01-02 09:39:31,984 DEBUG[org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler] Got dlq connection factory QueueConnectionFactor [URL=tcp://192.9.215.112:7422,tcp://192.9.208.112:7422;clientID=null from IntQueueConnectionFactory
  | 2009-01-02 09:39:31,984 DEBUG org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler] Attempting to create queue connection with user null
  | 2009-01-02 09:39:35,000 ERROR[org.jboss.resource.adapter.jms.inflow.JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at 11258b2(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at 16827b5 destination=topic.cogwmp.svcs.shared.addr.> isTopic=true tx=true durable=false 
  | reconnect=10 provider=java:/TIBCOJMSProvider user=admin pass=<not shown> maxMessages=1 minSession=1 maxSession=15
  |  keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler 
  | DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
  | javax.jms.JMSSecurityException: Failed to connect to any server at: tcp://192.9.215.112:7422,tcp://1
  | 92.9.208.112:7422 [Error: invalid name or password: url that returned this exception = TCP://192.9.208.112:7422 ]	

The problem as I see it is this, the configuration in the tibco-jms-ds.xml seems to work fine, it connects, JNDI seems to be fine, the problem is that when the MDB attempts to connect it is not passing the username and password in the connection to the EMS. So consequently the Tibco EMS is saying that the anonymous connection is not authorized, if I allow anonymous connections on the EMS its work fine. But this not something I can do on the production server. 

The MDB is using EJB3 annotations, I saw that there are properties for user and password which I have tried setting but with no luck. Bellow is my ds.xml and MDB code, any help would be greatly appreciated. 

Thanks 


tibco-jms-ds.xml 

<?xml version="1.0" encoding="UTF-8"?>
  | <connection-factories>
  |   <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
  | name="org.jboss.jms.jndi:service=JMSProviderLoader,name=TibjmsProvider">
  |     <attribute name="ProviderName">TIBCOJMSProvider</attribute>
  |     <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
  |     <attribute name="FactoryRef">ConnectionFactory</attribute>
  |     <attribute name="QueueFactoryRef">IntQueueConnectionFactory</attribute>
  |     <attribute name="TopicFactoryRef">IntTopicConnectionFactory</attribute>
  |     <attribute name="Properties">     
  |        java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
  |        java.naming.factory.url.pkgs=com.tibco.tibjms.naming
  |        java.naming.provider.url=tcp://ems2:7422
  |        java.naming.security.principal=admin
  |        java.naming.security.credentials=password
  |     </attribute>
  |   </mbean>
  |   
  |   <mbean code="org.jboss.naming.NamingAlias"
  |             name="DefaultDomain:service=NamingAlias,fromName=ConnectionFactory">
  |     <attribute name="ToName">tibjmsnaming://ems2/QueueConnectionFactory
  |     </attribute>
  |     <attribute name="FromName">ConnectionFactory</attribute>
  |   </mbean>
  | 
  |   <tx-connection-factory>
  |     <jndi-name>TibcoEMS</jndi-name>
  |     <rar-name>jms-ra.rar</rar-name>
  |     <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
  |     <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property>
  |     <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/TIBCOJMSProvider</config-property>
  |     <max-pool-size>20</max-pool-size>
  |     <security-domain-and-application>TibcoEMSRealm</security-domain-and-application>
  | 
  |         <config-property name="UserName" type="java.lang.String">admin</config-property>
  |         <config-property name="Password" type="java.lang.String">password</config-property>
  | 
  |   </tx-connection-factory>
  |   
  |  <!-- ==================================================================== --> 
  | </connection-factories>

TestMDB.java 

public @MessageDriven(name = "TestMDB", activationConfig = {
  | 		@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
  | 		@ActivationConfigProperty(propertyName = "destination", propertyValue = "topic.cogwmp.svcs.shared.addr.>"),
  | 		@ActivationConfigProperty(propertyName="user",propertyValue="admin"),
  | 		@ActivationConfigProperty(propertyName="password",propertyValue="password"),	
  | 		@ActivationConfigProperty(
  | 				propertyName="providerAdapterJNDI",
  | 				propertyValue="java:/TIBCOJMSProvider")				
  | 				})
  | 				class TestMDB implements MessageListener {
  | 
  | 	private static final Log logger = LogFactory.getLog(TestMDB.class);
  | 	public void onMessage(Message arg0) {
  | 		TextMessage txtMsg = (TextMessage)arg0;
  | 		
  | 		
  | 			try {
  | 				logger.info("Msg is "+ txtMsg.getText());
  | 			} catch (JMSException e) {
  | 				// TODO Auto-generated catch block
  | 				e.printStackTrace();
  | 			}
  | 			
  | 	}
  | 
  | }	




View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4201687#4201687

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4201687



More information about the jboss-user mailing list