Closed arinban closed 6 years ago
@arinban Commented
@arinban Commented @arinban Commented
@arinban Commented @arinban Commented @glassfishrobot Commented Reported by ahe
— AbstractManagedConnectionFactory.java (Revision 234) +++ AbstractManagedConnectionFactory.java (Arbeitskopie) @@ -81,6 +81,7 @@ private boolean useProxyMessages = false; //disabled by default private PrintWriter logWriter; private ConnectionFactory connectionFactory = null;
public AbstractManagedConnectionFactory() { @@ -136,7 +137,7 @@ javax.jms.Connection physicalCon = null;
if (this.getSupportsXA())
{ - physicalCon = createXAConnection(pc, this.connectionFactory); + physicalCon = createXAConnection(pc, this.xAConnectionFactory); }
else
{ physicalCon = createConnection(pc, this.connectionFactory); }
@@ -145,7 +146,7 @@ }
protected abstract javax.jms.XAConnection createXAConnection(
protected abstract javax.jms.Connection createConnection( PasswordCredential pc, ConnectionFactory cf) throws JMSException; @@ -161,7 +162,7 @@ protected abstract String getActualConnectionFactoryClassName();
private void initializeConnectionFactory() throws ResourceException {
if (this.connectionFactory == null) {
this.connectionFactory = (ConnectionFactory) cfBuilder.build();
else
{ + this.connectionFactory = (ConnectionFactory) cfBuilder.build(); + }
+ } }
— ManagedJMSConnectionFactory.java (Revision 234) +++ ManagedJMSConnectionFactory.java (Arbeitskopie) @@ -39,7 +39,7 @@ }
protected javax.jms.XAConnection createXAConnection(PasswordCredential pc,
protected XAConnection createXAConnection(PasswordCredential pc,
protected XAConnection createXAConnection(PasswordCredential pc,
@arinban Commented @arinban Commented @glassfishrobot Commented liang.x.zhao said: JMS_SPEC-71 will clarify if XAConnectionFactory should extend ConnectionFactory.
@arinban Commented @arinban Commented @glassfishrobot Commented Issue-Links: depends on JMS_SPEC-71
@arinban Commented @arinban Commented @glassfishrobot Commented This issue was imported from java.net JIRA GENERICJMSRA-55
Closing this as this issue is migrated to https://github.com/ari-ban/test1/issues/55
Creating connections to Tibcos javax.jms.XAConnectionFactory implementation fails because genericjmsra casts all ConnectionFactory objects to javax.jms.ConnectionFactory. But javax.jms.XAConnectionFactory does not extend javax.jms.ConnectionFactory, see https://java.net/jira/browse/JMS_SPEC-71.
The Tibco class com.tibco.tibjms.naming.TibjmsFederatedXAConnectionFactory also implements only javax.jms.XAConnectionFactory and so a ClassCastExcpetion happens.
Exception Stacktrace: com.sun.appserv.connectors.internal.api.PoolingException: com.tibco.tibjms.naming.TibjmsFederatedXAConnectionFactory cannot be cast to javax.jms.ConnectionFactory at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:103) 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:332) at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:301) ... 95 more Caused by: com.sun.appserv.connectors.internal.api.PoolingException: com.tibco.tibjms.naming.TibjmsFederatedXAConnectionFactory cannot be cast to javax.jms.ConnectionFactory at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:924) at com.sun.enterprise.resource.pool.ConnectionPool.createResource(ConnectionPool.java:1189) at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:98) ... 105 more Caused by: java.lang.ClassCastException: com.tibco.tibjms.naming.TibjmsFederatedXAConnectionFactory cannot be cast to javax.jms.ConnectionFactory at com.sun.genericra.outbound.AbstractManagedConnectionFactory.initializeConnectionFactory(AbstractManagedConnectionFactory.java:182) at com.sun.genericra.outbound.AbstractManagedConnectionFactory.createManagedConnection(AbstractManagedConnectionFactory.java:118) at com.sun.enterprise.resource.allocator.ConnectorAllocator.createResource(ConnectorAllocator.java:160) at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:907) ... 107 more
Connection Pool definition from glassfish-resources.xml
Environment
Glassfish 3.1.2, Tibco EMS 6.1
Affected Versions
[2.1b]