You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2019/11/23 06:50:59 UTC

[karaf] branch master updated: [KARAF-6523] Cleanly destroy CXF server in REST/SOAP examples

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new aa2dc92  [KARAF-6523] Cleanly destroy CXF server in REST/SOAP examples
     new 67769be  Merge pull request #998 from jbonofre/KARAF-6523
aa2dc92 is described below

commit aa2dc924405f052f578bccd600713c7115c0de29
Author: Jean-Baptiste Onofré <jb...@apache.org>
AuthorDate: Wed Nov 20 06:18:13 2019 +0100

    [KARAF-6523] Cleanly destroy CXF server in REST/SOAP examples
---
 .../org/apache/karaf/examples/rest/scr/RestService.java   | 13 ++++++++++++-
 .../org/apache/karaf/examples/soap/scr/SoapService.java   | 15 ++++++++++++++-
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/examples/karaf-rest-example/karaf-rest-example-scr/src/main/java/org/apache/karaf/examples/rest/scr/RestService.java b/examples/karaf-rest-example/karaf-rest-example-scr/src/main/java/org/apache/karaf/examples/rest/scr/RestService.java
index 52a5db7..f51cbe3 100644
--- a/examples/karaf-rest-example/karaf-rest-example-scr/src/main/java/org/apache/karaf/examples/rest/scr/RestService.java
+++ b/examples/karaf-rest-example/karaf-rest-example-scr/src/main/java/org/apache/karaf/examples/rest/scr/RestService.java
@@ -18,13 +18,17 @@ package org.apache.karaf.examples.rest.scr;
 
 import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 import org.apache.cxf.BusFactory;
+import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
 
 @Component
 public class RestService {
 
+    private Server server;
+
     @Activate
     public void activate() throws Exception {
         JAXRSServerFactoryBean bean = new JAXRSServerFactoryBean();
@@ -32,7 +36,14 @@ public class RestService {
         bean.setBus(BusFactory.getDefaultBus());
         bean.setProvider(new JacksonJsonProvider());
         bean.setServiceBean(new BookingServiceRest());
-        bean.create();
+        server = bean.create();
+    }
+
+    @Deactivate
+    public void deactivate() throws Exception {
+        if (server != null) {
+            server.destroy();
+        }
     }
 
 }
diff --git a/examples/karaf-soap-example/karaf-soap-example-scr/src/main/java/org/apache/karaf/examples/soap/scr/SoapService.java b/examples/karaf-soap-example/karaf-soap-example-scr/src/main/java/org/apache/karaf/examples/soap/scr/SoapService.java
index 2e87411..eb21555 100644
--- a/examples/karaf-soap-example/karaf-soap-example-scr/src/main/java/org/apache/karaf/examples/soap/scr/SoapService.java
+++ b/examples/karaf-soap-example/karaf-soap-example-scr/src/main/java/org/apache/karaf/examples/soap/scr/SoapService.java
@@ -17,19 +17,32 @@
 package org.apache.karaf.examples.soap.scr;
 
 import org.apache.cxf.BusFactory;
+import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
+import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
 
 @Component
 public class SoapService {
 
+    private Server server;
+
+    @Activate
     public void activate() throws Exception {
         JaxWsServerFactoryBean bean = new JaxWsServerFactoryBean();
         bean.setAddress("/example");
         bean.setServiceClass(BookingServiceSoap.class);
         bean.setServiceBean(new BookingServiceSoapImpl());
         bean.setBus(BusFactory.getDefaultBus());
-        bean.create();
+        server = bean.create();
+    }
+
+    @Deactivate
+    public void deactivate() throws Exception {
+        if (server != null) {
+            server.destroy();
+        }
     }
 
 }