]
RH Bugzilla Integration commented on WFLY-822:
----------------------------------------------
Vaclav Tunka <vtunka(a)redhat.com> changed the Status of [bug
MBean created via EAR/META-INF/jboss-service.xml from class defined
in JBoss module gets wrong TCCL
---------------------------------------------------------------------------------------------------
Key: WFLY-822
URL:
https://issues.jboss.org/browse/WFLY-822
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Class Loading, Server
Environment: Java 6u31
Reporter: Zachary Bedell
Assignee: jaikiran pai
Labels: classloader, mbean, modules
Fix For: 8.0.0.Alpha3
Attachments: SarTcclTst.tbz
When an MBean is loaded from jboss-service.xml within an EAR, the TCCL should point to
the EAR deployment so that config files and other resources can be classloaded from the
EAR. Under JBoss 7.1.1.Final, the TCCL in a module loaded MBean's start() method is
the module's ClassLoader. No reference to the EAR deployment's classloader is
available, thus EAR resources are not available within the MBean.
It appears that org.jboss.as.service.AbstractService::invokeLifecycleMethod() incorrectly
sets the TCCL to the module's defining classloader rather than the EAR's:
{{{
protected void invokeLifecycleMethod(final Method method) throws
InvocationTargetException, IllegalAccessException {
if (method != null) {
final ClassLoader old =
SecurityActions.setThreadContextClassLoader(mBeanInstance.getClass().getClassLoader());
try {
method.invoke(mBeanInstance);
} finally {
SecurityActions.resetThreadContextClassLoader(old);
}
}
}
}}}
--
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: