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();
+ }
}
}