Author: ningjiang Date: Wed Jun 22 03:45:47 2011 New Revision: 1138298 URL: http://svn.apache.org/viewvc?rev=1138298&view=rev Log: CAMEL-4137 reset the thread context classloader in the CxfNamespaceHandler
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java?rev=1138298&r1=1138297&r2=1138298&view=diff ============================================================================== --- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java (original) +++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java Wed Jun 22 03:45:47 2011 @@ -42,17 +42,21 @@ public class CxfNamespaceHandler impleme } public Metadata parse(Element element, ParserContext context) { - Thread.currentThread().setContextClassLoader(BlueprintBus.class.getClassLoader()); - String s = element.getLocalName(); - if ("cxfEndpoint".equals(s)) { - return new EndpointDefinitionParser().parse(element, context); + ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); + Metadata answer = null; + try { + Thread.currentThread().setContextClassLoader(BlueprintBus.class.getClassLoader()); + String s = element.getLocalName(); + if ("cxfEndpoint".equals(s)) { + answer = new EndpointDefinitionParser().parse(element, context); + } + } finally { + Thread.currentThread().setContextClassLoader(oldClassLoader); } - - return null; + return answer; } public ComponentMetadata decorate(Node node, ComponentMetadata componentMetadata, ParserContext parserContext) { - System.out.println("Decorate the node " + node + " " + componentMetadata); return null; } }