Bartosz Spyrko created WFLY-12013:
-------------------------------------
Summary: (7.2.z) TCCL is not set to datasource module in datasource
constructor
Key: WFLY-12013
URL:
https://issues.jboss.org/browse/WFLY-12013
Project: WildFly
Issue Type: Bug
Components: JCA
Affects Versions: 13.0.0.Final
Reporter: Bartosz Spyrko
Assignee: Stefano Maestri
TCCL is not set to datasource module
User has a datasource that uses ORB classes and is getting a ClassNotFound.
If a 3rd party JDBC driver implementation is using e. g. CORBA, the class loader is not
set and thus the CORBA classes got loaded from the 'org.jboss.as.connector'
modules class loader.
So the root cause is the Thread Context ClassLoader (TCCL) is not set to the
classloader/module of the datasource driver module. The particular datasource driver is
making using of ORB.init which is a JDK class that looks on the TCCL and other places to
load the class specified in ORB.init, but JCA when running has not set the TCCL thus the
classes cannot be found.
Having the TCCL set to the application is how JEE handles related situations to load
application classes, so it would make sense that when JCA is running the datasource that
it would have the TCCL set to the module of the datasource or a delegate class loader that
sees both the datasource module and any other class loader that JCA might need, JBossWS
does something similar.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)