users@glassfish.java.net

How to connect to remote JMS

From: Andreas Junius <AJunius_at_internode.com.au>
Date: Thu, 20 Dec 2012 01:23:13 +0000

Hi all,

I try to setup a jms connection factory to a TIBCO EMS on a remote machine.

The resource type is javax.jms.ConnectionFactory

Pool settings default, no transaction. I added also UserName, Password and AddressList (Format: dev-esb:7222).

However it does not work. If I try to connect (or ping) I'll get the following exception:

WARNING: [C4003]: Error occurred on connection creation [dev-esb:7222]. - cause: java.lang.NumberFormatException: For input string: "

I can easily connect to the JMS programmatically, so I'm sure it works. The only difference is, that the code uses a TIBCO class for the factory: TibjmsQueueConnectionFactory


Is this a bug or did I forget any important settings? What's the precise procedure to connect to a remote JMS?

Cheers,
Andy


The exception:

Dec 20, 2012 9:42:15 AM org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 4.3.0.Final
Dec 20, 2012 9:42:16 AM com.sun.messaging.jms.ra.ResourceAdapter start
INFO: MQJMSRA_RA1101: GlassFish MQ JMS Resource Adapter: Version: 4.5.2 Patch 1 (Build 3-d) Compile: Thu Jun 7 10:46:15 PDT 2012
Dec 20, 2012 9:42:16 AM com.sun.messaging.jms.ra.ResourceAdapter start
INFO: MQJMSRA_RA1101: GlassFish MQ JMS Resource Adapter starting: broker is REMOTE, connection mode is TCP
Dec 20, 2012 9:42:16 AM com.sun.messaging.jms.ra.ResourceAdapter start
INFO: MQJMSRA_RA1101: GlassFish MQ JMS Resource Adapter Started:REMOTE
Dec 20, 2012 9:42:16 AM com.sun.messaging.jmq.jmsclient.ExceptionHandler throwConnectionException
WARNING: [C4003]: Error occurred on connection creation [10.20.13.131:7222]. - cause: java.lang.NumberFormatException: For input string: "

com.sun.messaging.jms.JMSException: [C4003]: Error occurred on connection creation [10.20.13.131:7222]. - cause: java.lang.NumberFormatException: For input string: "
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.throwConnectionException(ExceptionHandler.java:280)
        at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleConnectException(ExceptionHandler.java:226)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:262)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:156)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:98)
        at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:168)
        at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:141)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:785)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnectionNew(ConnectionInitiator.java:260)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:214)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:164)
        at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:843)
        at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:1562)
        at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:2427)
        at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:1108)
        at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:459)
        at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:66)
        at com.sun.messaging.jmq.jmsclient.XAConnectionImpl.<init>(XAConnectionImpl.java:64)
        at com.sun.messaging.XAConnectionFactory.createXAConnection(XAConnectionFactory.java:97)
        at com.sun.messaging.jms.ra.ManagedConnection.<init>(ManagedConnection.java:196)
        at com.sun.messaging.jms.ra.ManagedConnectionFactory.createManagedConnection(ManagedConnectionFactory.java:226)
        at com.sun.enterprise.resource.allocator.NoTxConnectorAllocator.createResource(NoTxConnectorAllocator.java:128)
        at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:907)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResource(ConnectionPool.java:1189)
        at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:98)
        at com.sun.enterprise.resource.pool.ConnectionPool.addResource(ConnectionPool.java:282)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResourceAndAddToPool(ConnectionPool.java:1512)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResources(ConnectionPool.java:944)
        at com.sun.enterprise.resource.pool.ConnectionPool.initPool(ConnectionPool.java:230)
        at com.sun.enterprise.resource.pool.ConnectionPool.internalGetResource(ConnectionPool.java:511)
        at com.sun.enterprise.resource.pool.ConnectionPool.getResource(ConnectionPool.java:381)
        at com.sun.enterprise.resource.pool.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:245)
        at com.sun.enterprise.resource.pool.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.getResource(ConnectionManagerImpl.java:338)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:301)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:236)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:165)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:160)
        at com.sun.messaging.jms.ra.ConnectionFactoryAdapter._allocateConnection(ConnectionFactoryAdapter.java:181)
        at com.sun.messaging.jms.ra.ConnectionFactoryAdapter.createConnection(ConnectionFactoryAdapter.java:168)
        at com.sun.messaging.jms.ra.ConnectionFactoryAdapter.createConnection(ConnectionFactoryAdapter.java:150)
        at info.junius.GFMessageSender.main(GFMessageSender.java:22)
Caused by: java.lang.NumberFormatException: For input string: "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:481)
        at java.lang.Integer.parseInt(Integer.java:527)
        at com.sun.messaging.jmq.io.PortMapperTable.read(PortMapperTable.java:277)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:243)
        ... 39 more
Dec 20, 2012 9:42:57 AM com.sun.enterprise.resource.allocator.NoTxConnectorAllocator createResource
WARNING: RAR5038:Unexpected exception while creating resource for pool jms/iiNetTibcoConnectionFactory. Exception : javax.resource.spi.ResourceAdapterInternalException: MQJMSRA_MC4001: constructor:Aborting:JMSException on createConnection=[C4003]: Error occurred on connection creation [10.20.13.131:7222]. - cause: java.lang.NumberFormatException: For input string: "
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.throwConnectionException(ExceptionHandler.java:280)
        at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleConnectException(ExceptionHandler.java:226)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:262)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:156)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:98)
        at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:168)
        at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:141)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:785)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnectionNew(ConnectionInitiator.java:260)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:214)
        at com.sun.messaging.jmq.jmsclient.ConnectionInitiator.createConnection(ConnectionInitiator.java:164)
        at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:843)
        at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:1562)
        at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:2427)
        at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:1108)
        at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:459)
        at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:66)
        at com.sun.messaging.jmq.jmsclient.XAConnectionImpl.<init>(XAConnectionImpl.java:64)
        at com.sun.messaging.XAConnectionFactory.createXAConnection(XAConnectionFactory.java:97)
        at com.sun.messaging.jms.ra.ManagedConnection.<init>(ManagedConnection.java:196)
        ... 22 more
Caused by: java.lang.NumberFormatException: For input string: "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:481)
        at java.lang.Integer.parseInt(Integer.java:527)
        at com.sun.messaging.jmq.io.PortMapperTable.read(PortMapperTable.java:277)
        at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:243)
        ... 39 more