Author: ningjiang
Date: Fri Nov  1 15:53:21 2013
New Revision: 1537967

URL: http://svn.apache.org/r1537967
Log:
CXF-5372 ServerEngineFactoryHolder should release JAXB classes when it is 
destroyed

Modified:
    
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java
    
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java
    
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyHttpServerEngineFactoryHolder.java
    
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyServerEngineFactoryParser.java

Modified: 
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java?rev=1537967&r1=1537966&r2=1537967&view=diff
==============================================================================
--- 
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java
 (original)
+++ 
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyHTTPServerEngineFactoryHolder.java
 Fri Nov  1 15:53:21 2013
@@ -167,7 +167,10 @@ public class JettyHTTPServerEngineFactor
     }
 
     public void destroy() {
+        // need to release the reference of the jaxb Classes
         factory.postShutdown();
+        jaxbClasses.clear();
+        jaxbContext = null;
     }
 
     public String getParsedElement() {

Modified: 
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java?rev=1537967&r1=1537966&r2=1537967&view=diff
==============================================================================
--- 
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java
 (original)
+++ 
cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/blueprint/JettyServerEngineFactoryParser.java
 Fri Nov  1 15:53:21 2013
@@ -70,7 +70,7 @@ public class JettyServerEngineFactoryPar
             ef.addProperty("parsedElement", createValue(context, xmlString));
             ef.setInitMethod("init");
             ef.setActivation(ComponentMetadata.ACTIVATION_EAGER);
-
+            ef.setDestroyMethod("destroy");
             return ef;
         } catch (Exception e) {
             throw new RuntimeException("Could not process configuration.", e);

Modified: 
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyHttpServerEngineFactoryHolder.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyHttpServerEngineFactoryHolder.java?rev=1537967&r1=1537966&r2=1537967&view=diff
==============================================================================
--- 
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyHttpServerEngineFactoryHolder.java
 (original)
+++ 
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyHttpServerEngineFactoryHolder.java
 Fri Nov  1 15:53:21 2013
@@ -161,7 +161,10 @@ public class NettyHttpServerEngineFactor
     }
 
     public void destroy() {
+        // need to release the reference of the jaxb Classes
         factory.postShutdown();
+        jaxbClasses.clear();
+        jaxbContext = null;
     }
 
     public String getParsedElement() {

Modified: 
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyServerEngineFactoryParser.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyServerEngineFactoryParser.java?rev=1537967&r1=1537966&r2=1537967&view=diff
==============================================================================
--- 
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyServerEngineFactoryParser.java
 (original)
+++ 
cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/blueprint/NettyServerEngineFactoryParser.java
 Fri Nov  1 15:53:21 2013
@@ -58,14 +58,14 @@ public class NettyServerEngineFactoryPar
             ef.setId("netty.engine.factory-holder-" + 
UUID.randomUUID().toString());
         }
         ef.setRuntimeClass(NettyHttpServerEngineFactoryHolder.class);
-
+        
         try {
             // Print the DOM node
             String xmlString = StaxUtils.toString(element);
             ef.addProperty("parsedElement", createValue(context, xmlString));
             ef.setInitMethod("init");
             ef.setActivation(ComponentMetadata.ACTIVATION_EAGER);
-
+            ef.setDestroyMethod("destroy");
             return ef;
         } catch (Exception e) {
             throw new RuntimeException("Could not process configuration.", e);


Reply via email to