You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Philip Dodds (JIRA)" <ji...@apache.org> on 2006/09/21 15:53:23 UTC
[jira] Created: (SM-591) Extend the servicemix-commons to provide
better classloading semantics
Extend the servicemix-commons to provide better classloading semantics
----------------------------------------------------------------------
Key: SM-591
URL: https://issues.apache.org/activemq/browse/SM-591
Project: ServiceMix
Issue Type: Improvement
Affects Versions: 3.0
Reporter: Philip Dodds
Fix For: 3.1
Add a getConfigurationClassLoader to the ServiceUnit class in org.apache.servicemix.common. This can be used to ensure that is a ServiceUnit is going to contain Java Code then it needs to ensure that it provides a classloader.
This method can then be used in the AsyncBaseLifeCycle in the method processExchange:
Refactor the processExchange to be doProcessExchange and then create a new processExchange akin to this:
ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
try {
if (getServiceUnit().getConfigurationClassLoader()!=null) {
ClassLoader classLoader = endpoint.getServiceUnit().getConfigurationClassLoader();
Thread.currentThread().setContextClassLoader(classLoader);
}
doProcessExchange(exchange);
} finally {
Thread.currentThread().setContextClassLoader(oldCl);
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Closed: (SM-591) Extend the servicemix-commons to provide
better classloading semantics
Posted by "Philip Dodds (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/SM-591?page=all ]
Philip Dodds closed SM-591.
---------------------------
Resolution: Fixed
Refactored to add the support for the handling of Classloaders from within the ServiceUnit, if a ServiceUnit implementation is going to provide Java classes then it should return a classloader for that SU.
> Extend the servicemix-commons to provide better classloading semantics
> ----------------------------------------------------------------------
>
> Key: SM-591
> URL: https://issues.apache.org/activemq/browse/SM-591
> Project: ServiceMix
> Issue Type: Improvement
> Affects Versions: 3.0
> Reporter: Philip Dodds
> Fix For: 3.1
>
>
> Add a getConfigurationClassLoader to the ServiceUnit class in org.apache.servicemix.common. This can be used to ensure that is a ServiceUnit is going to contain Java Code then it needs to ensure that it provides a classloader.
> This method can then be used in the AsyncBaseLifeCycle in the method processExchange:
> Refactor the processExchange to be doProcessExchange and then create a new processExchange akin to this:
> ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
> try {
> if (getServiceUnit().getConfigurationClassLoader()!=null) {
> ClassLoader classLoader = endpoint.getServiceUnit().getConfigurationClassLoader();
> Thread.currentThread().setContextClassLoader(classLoader);
> }
> doProcessExchange(exchange);
> } finally {
> Thread.currentThread().setContextClassLoader(oldCl);
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira