You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/06/08 18:57:24 UTC
svn commit: r412798 -
/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
Author: fhanik
Date: Thu Jun 8 09:57:24 2006
New Revision: 412798
URL: http://svn.apache.org/viewvc?rev=412798&view=rev
Log:
Fixed defect 39699
http://issues.apache.org/bugzilla/show_bug.cgi?id=39699
Modified:
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java?rev=412798&r1=412797&r2=412798&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java Thu Jun 8 09:57:24 2006
@@ -540,26 +540,30 @@
* @see DeltaManager#start()
*/
public synchronized Manager createManager(String name) {
- if (log.isDebugEnabled())
- log.debug("Creating ClusterManager for context " + name
- + " using class " + getManagerClassName());
+ ClassLoader oldCtxLoader = Thread.currentThread().getContextClassLoader();
Manager manager = null;
try {
- manager = (Manager) getClass().getClassLoader().loadClass(
- getManagerClassName()).newInstance();
- } catch (Exception x) {
- log.error("Unable to load class for replication manager", x);
- manager = new org.apache.catalina.cluster.session.DeltaManager();
- } finally {
- if(manager != null) {
- manager.setDistributable(true);
- if (manager instanceof ClusterManager) {
- ClusterManager cmanager = (ClusterManager) manager ;
- cmanager.setDefaultMode(true);
- cmanager.setName(getManagerName(name,manager));
- cmanager.setCluster(this);
+ Thread.currentThread().setContextClassLoader(SimpleTcpCluster.class.getClassLoader());
+ if (log.isDebugEnabled())
+ log.debug("Creating ClusterManager for context " + name + " using class " + getManagerClassName());
+ try {
+ manager = (Manager) getClass().getClassLoader().loadClass(getManagerClassName()).newInstance();
+ } catch (Exception x) {
+ log.error("Unable to load class for replication manager", x);
+ manager = new org.apache.catalina.cluster.session.DeltaManager();
+ } finally {
+ if (manager != null) {
+ manager.setDistributable(true);
+ if (manager instanceof ClusterManager) {
+ ClusterManager cmanager = (ClusterManager) manager;
+ cmanager.setDefaultMode(true);
+ cmanager.setName(getManagerName(name, manager));
+ cmanager.setCluster(this);
+ }
}
}
+ }finally {
+ Thread.currentThread().setContextClassLoader(oldCtxLoader);
}
return manager;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org