[jboss-jira] [JBoss JIRA] (WFLY-822) MBean created via EAR/META-INF/jboss-service.xml from class defined in JBoss module gets wrong TCCL
jaikiran pai (JIRA)
jira-events at lists.jboss.org
Wed May 15 09:11:06 EDT 2013
[ https://issues.jboss.org/browse/WFLY-822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
jaikiran pai updated WFLY-822:
------------------------------
Fix Version/s: 8.0.0.Alpha1
Updated the "Fix version" so that this comes in 8.x radar. Can't do anything about the "Affects version" since it doesn't show anything less that 8.0.0.Alpha1 (for obvious reasons).
> 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
> Components: Class Loading, Server
> Environment: Java 6u31
> Reporter: Zachary Bedell
> Assignee: David Lloyd
> Labels: classloader, mbean, modules
> Fix For: 8.0.0.Alpha1
>
> 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: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list