Repository: cxf
Updated Branches:
  refs/heads/master 2afb9d3ca -> f8f5bc310


[CXF-5946]ensure unregister cxf http transport Servlet OSGi service before we 
re-register it
(cherry picked from commit e18a3b9097491c10be4db3943c09de0f2a286ac9)


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/f8f5bc31
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/f8f5bc31
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/f8f5bc31

Branch: refs/heads/master
Commit: f8f5bc310acd1565d904e0c3c12eaeb4d7e63add
Parents: 2afb9d3
Author: Freeman Fang <freeman.f...@gmail.com>
Authored: Thu Aug 14 16:26:28 2014 +0800
Committer: Freeman Fang <freeman.f...@gmail.com>
Committed: Thu Aug 14 16:27:27 2014 +0800

----------------------------------------------------------------------
 .../apache/cxf/transport/http/osgi/HTTPTransportActivator.java | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/f8f5bc31/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/HTTPTransportActivator.java
----------------------------------------------------------------------
diff --git 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/HTTPTransportActivator.java
 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/HTTPTransportActivator.java
index 82087bc..c01afb4 100644
--- 
a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/HTTPTransportActivator.java
+++ 
b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/osgi/HTTPTransportActivator.java
@@ -96,6 +96,7 @@ public class HTTPTransportActivator
         private ServiceRegistration reg;
         private BundleContext context;
         private Servlet servlet;
+        private ServiceRegistration serviceRegistration;
         
         public ServletConfigurer(BundleContext context, Servlet servlet) {
             this.servlet = servlet;
@@ -140,7 +141,10 @@ public class HTTPTransportActivator
                        getProp(properties, 
"org.apache.cxf.servlet.service-list-page-authenticate-realm", "karaf"));
             sprops.put("use-x-forwarded-headers", 
                        getProp(properties, 
"org.apache.cxf.servlet.use-x-forwarded-headers", "false"));
-            context.registerService(Servlet.class.getName(), servlet, sprops);
+            if (serviceRegistration != null) {
+                serviceRegistration.unregister();
+            }
+            serviceRegistration = 
context.registerService(Servlet.class.getName(), servlet, sprops);
         }
 
         @SuppressWarnings("rawtypes")

Reply via email to