You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2005/09/24 06:08:05 UTC
svn commit: r291245 -
/geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisDiscoveryCLWorkaroundGBean.java
Author: djencks
Date: Fri Sep 23 21:08:01 2005
New Revision: 291245
URL: http://svn.apache.org/viewcvs?rev=291245&view=rev
Log:
GERONIMO-1022 Workaround the totally anti-ioc based architecture of commons-discovery. missed the new file
Added:
geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisDiscoveryCLWorkaroundGBean.java
Added: geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisDiscoveryCLWorkaroundGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisDiscoveryCLWorkaroundGBean.java?rev=291245&view=auto
==============================================================================
--- geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisDiscoveryCLWorkaroundGBean.java (added)
+++ geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisDiscoveryCLWorkaroundGBean.java Fri Sep 23 21:08:01 2005
@@ -0,0 +1,52 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.axis;
+
+import org.apache.axis.AxisProperties;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+
+/**
+ * @version $Rev: $ $Date: $
+ */
+public class AxisDiscoveryCLWorkaroundGBean {
+
+ public AxisDiscoveryCLWorkaroundGBean(ClassLoader classLoader) {
+ Thread currentThread = Thread.currentThread();
+ ClassLoader oldClassLoader = currentThread.getContextClassLoader();
+ currentThread.setContextClassLoader(classLoader);
+ try {
+ //this sets the classloaders used in discovery. One is the current TCCL.
+ AxisProperties.getNameDiscoverer();
+ } finally {
+ currentThread.setContextClassLoader(oldClassLoader);
+ }
+ }
+
+ public static final GBeanInfo GBEAN_INFO;
+
+ static {
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(AxisDiscoveryCLWorkaroundGBean.class);
+ infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
+ infoBuilder.setConstructor(new String[] {"classLoader"});
+ GBEAN_INFO = infoBuilder.getBeanInfo();
+ }
+
+ public static GBeanInfo getGBeanInfo() {
+ return GBEAN_INFO;
+ }
+}