[
https://issues.jboss.org/browse/WFLY-3205?page=com.atlassian.jira.plugin....
]
Jay Kumar SenSharma updated WFLY-3205:
--------------------------------------
Description:
- The fix mentioned in
https://issues.jboss.org/browse/WFLY-2047 is resolves the issue for
plain Non-XA dataSources. However if an XA-DataSource is configured with the
"ldap" based database connection URL then it fails with the following Error:
{code}
13:49:41,399 ERROR [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic
Recovery) IJ000906: Error during crash recovery: java:/OracleXA_DS (Could not create
connection): javax.resource.ResourceException: Could not create connection
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:461)
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:398)
at
org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.open(XAResourceRecoveryImpl.java:343)
at
org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.getXAResources(XAResourceRecoveryImpl.java:170)
at
com.arjuna.ats.internal.jbossatx.jta.XAResourceRecoveryHelperWrapper.getXAResources(XAResourceRecoveryHelperWrapper.java:51)
[narayana-jts-integration-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:516)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:182)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:743)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
Caused by: java.sql.SQLRecoverableException: Io exception: JNDI Package
failurejavax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory
com.sun.jndi.ldap.LdapCtxFactory from classloader ModuleClassLoader for Module
"org.jboss.jts:main" from local module loader @3b70c (finder: local module
finder @1e6a820 (roots:
/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules,/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules/system/layers/base))
[Root exception is java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory from
[Module "org.jboss.jts:main" from local module loader @3b70c (finder: local
module finder @1e6a820 (roots:
/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules,/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules/system/layers/base))]]
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:275)
at
oracle.jdbc.xa.client.OracleXADataSource.getPooledConnection(OracleXADataSource.java:454)
at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:159)
at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:130)
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:444)
... 8 morec
{code}
- The XA dataSource configuration looks like following:
{code}
<subsystem xmlns="urn:jboss:domain:datasources:2.0">
<datasources>
<xa-datasource jndi-name="java:/OracleXA_DS"
pool-name="OracleXA_DS" enabled="true">
<xa-datasource-property name="ServerName">
example.com
</xa-datasource-property>
<xa-datasource-property name="DatabaseName">
TestDB
</xa-datasource-property>
<xa-datasource-property name="URL">
jdbc:oracle:thin:@ldap://example.com:3060/test,cn=OracleA,dc=worldA
</xa-datasource-property>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<driver>oracle</driver>
<security>
<user-name>jboss</user-name>
<password>jboss</password>
</security>
</xa-datasource>
<drivers>
<driver name="oracle"
module="com.oracle.jdbc6"/>
</drivers>
</datasources>
</subsystem>
{code}
- When the above datasource is tested via CLI like following then aht above mentioned
error is noticed:
{code}
/subsystem=datasources/xa-data-source=OracleXA_DS:test-connection-in-pool
{code}
was:
- The fix mentioned in *https://issues.jboss.org/browse/WFLY-2047* is resolves the issue
for plain Non-XA dataSources. However if an XA-DataSource is configured with the
"ldap" based database connection URL then it fails with the following Error:
{code}
13:49:41,399 ERROR [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic
Recovery) IJ000906: Error during crash recovery: java:/OracleXA_DS (Could not create
connection): javax.resource.ResourceException: Could not create connection
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:461)
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:398)
at
org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.open(XAResourceRecoveryImpl.java:343)
at
org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.getXAResources(XAResourceRecoveryImpl.java:170)
at
com.arjuna.ats.internal.jbossatx.jta.XAResourceRecoveryHelperWrapper.getXAResources(XAResourceRecoveryHelperWrapper.java:51)
[narayana-jts-integration-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:516)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:182)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:743)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
Caused by: java.sql.SQLRecoverableException: Io exception: JNDI Package
failurejavax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory
com.sun.jndi.ldap.LdapCtxFactory from classloader ModuleClassLoader for Module
"org.jboss.jts:main" from local module loader @3b70c (finder: local module
finder @1e6a820 (roots:
/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules,/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules/system/layers/base))
[Root exception is java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory from
[Module "org.jboss.jts:main" from local module loader @3b70c (finder: local
module finder @1e6a820 (roots:
/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules,/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules/system/layers/base))]]
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:275)
at
oracle.jdbc.xa.client.OracleXADataSource.getPooledConnection(OracleXADataSource.java:454)
at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:159)
at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:130)
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:444)
... 8 morec
{code}
- The XA dataSource configuration looks like following:
{code}
<subsystem xmlns="urn:jboss:domain:datasources:2.0">
<datasources>
<xa-datasource jndi-name="java:/OracleXA_DS"
pool-name="OracleXA_DS" enabled="true">
<xa-datasource-property name="ServerName">
example.com
</xa-datasource-property>
<xa-datasource-property name="DatabaseName">
TestDB
</xa-datasource-property>
<xa-datasource-property name="URL">
jdbc:oracle:thin:@ldap://example.com:3060/test,cn=OracleA,dc=worldA
</xa-datasource-property>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<driver>oracle</driver>
<security>
<user-name>jboss</user-name>
<password>jboss</password>
</security>
</xa-datasource>
<drivers>
<driver name="oracle"
module="com.oracle.jdbc6"/>
</drivers>
</datasources>
</subsystem>
{code}
- When the above datasource is tested via CLI like following then aht above mentioned
error is noticed:
{code}
/subsystem=datasources/xa-data-source=OracleXA_DS:test-connection-in-pool
{code}
For xa-datasource testConnection should account for deployment
classloader
--------------------------------------------------------------------------
Key: WFLY-3205
URL:
https://issues.jboss.org/browse/WFLY-3205
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JCA
Affects Versions: 8.0.1.Final
Environment: All
Reporter: Jay Kumar SenSharma
Assignee: Jesper Pedersen
- The fix mentioned in
https://issues.jboss.org/browse/WFLY-2047 is resolves the issue
for plain Non-XA dataSources. However if an XA-DataSource is configured with the
"ldap" based database connection URL then it fails with the following Error:
{code}
13:49:41,399 ERROR [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic
Recovery) IJ000906: Error during crash recovery: java:/OracleXA_DS (Could not create
connection): javax.resource.ResourceException: Could not create connection
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:461)
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:398)
at
org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.open(XAResourceRecoveryImpl.java:343)
at
org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.getXAResources(XAResourceRecoveryImpl.java:170)
at
com.arjuna.ats.internal.jbossatx.jta.XAResourceRecoveryHelperWrapper.getXAResources(XAResourceRecoveryHelperWrapper.java:51)
[narayana-jts-integration-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:516)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:182)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:743)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
at
com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371)
[narayana-jts-jacorb-5.0.0.Final.jar:5.0.0.Final (revision: 9aa71)]
Caused by: java.sql.SQLRecoverableException: Io exception: JNDI Package
failurejavax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory
com.sun.jndi.ldap.LdapCtxFactory from classloader ModuleClassLoader for Module
"org.jboss.jts:main" from local module loader @3b70c (finder: local module
finder @1e6a820 (roots:
/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules,/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules/system/layers/base))
[Root exception is java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory from
[Module "org.jboss.jts:main" from local module loader @3b70c (finder: local
module finder @1e6a820 (roots:
/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules,/home/userone/XA_DS/wildfly-8.0.1.Final-SNAPSHOT/modules/system/layers/base))]]
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:275)
at
oracle.jdbc.xa.client.OracleXADataSource.getPooledConnection(OracleXADataSource.java:454)
at
oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:159)
at
oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:130)
at
org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:444)
... 8 morec
{code}
- The XA dataSource configuration looks like following:
{code}
<subsystem xmlns="urn:jboss:domain:datasources:2.0">
<datasources>
<xa-datasource jndi-name="java:/OracleXA_DS"
pool-name="OracleXA_DS" enabled="true">
<xa-datasource-property name="ServerName">
example.com
</xa-datasource-property>
<xa-datasource-property name="DatabaseName">
TestDB
</xa-datasource-property>
<xa-datasource-property name="URL">
jdbc:oracle:thin:@ldap://example.com:3060/test,cn=OracleA,dc=worldA
</xa-datasource-property>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<driver>oracle</driver>
<security>
<user-name>jboss</user-name>
<password>jboss</password>
</security>
</xa-datasource>
<drivers>
<driver name="oracle"
module="com.oracle.jdbc6"/>
</drivers>
</datasources>
</subsystem>
{code}
- When the above datasource is tested via CLI like following then aht above mentioned
error is noticed:
{code}
/subsystem=datasources/xa-data-source=OracleXA_DS:test-connection-in-pool
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira