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 2016/06/21 16:23:22 UTC
[1/3] karaf git commit: KARAF-4569: OSGi framework is not shut-down
gracefully on SIGTERM
Repository: karaf
Updated Branches:
refs/heads/master 6862b6288 -> cc8dfd9eb
KARAF-4569: OSGi framework is not shut-down gracefully on SIGTERM
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/cb9a94a2
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/cb9a94a2
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/cb9a94a2
Branch: refs/heads/master
Commit: cb9a94a215d9d9d435a59ce02c027d0d0382f101
Parents: 8228782
Author: lburgazzoli <lb...@gmail.com>
Authored: Mon Jun 13 20:08:10 2016 +0200
Committer: lburgazzoli <lb...@gmail.com>
Committed: Wed Jun 15 08:30:35 2016 +0200
----------------------------------------------------------------------
.../main/java/org/apache/karaf/main/Main.java | 36 ++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/cb9a94a2/main/src/main/java/org/apache/karaf/main/Main.java
----------------------------------------------------------------------
diff --git a/main/src/main/java/org/apache/karaf/main/Main.java b/main/src/main/java/org/apache/karaf/main/Main.java
index 532847f..09a3dc1 100644
--- a/main/src/main/java/org/apache/karaf/main/Main.java
+++ b/main/src/main/java/org/apache/karaf/main/Main.java
@@ -23,8 +23,10 @@ import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Field;
+import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
import java.net.URI;
import java.net.URL;
import java.net.URLClassLoader;
@@ -32,12 +34,11 @@ import java.security.Provider;
import java.security.Security;
import java.util.ArrayList;
import java.util.List;
-import org.apache.felix.utils.properties.Properties;
-
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.apache.felix.utils.properties.Properties;
import org.apache.karaf.info.ServerInfo;
import org.apache.karaf.main.lock.Lock;
import org.apache.karaf.main.lock.LockCallBack;
@@ -319,6 +320,37 @@ public class Main {
new StartupListener(LOG, framework.getBundleContext());
}
monitor();
+ registerSignalHandler();
+ }
+
+ private void registerSignalHandler() {
+ if (!Boolean.valueOf(System.getProperty("karaf.handle.sigterm", "true"))) {
+ return;
+ }
+
+ try {
+ final Class<?> signalClass = Class.forName("sun.misc.Signal");
+ final Class<?> signalHandlerClass = Class.forName("sun.misc.SignalHandler");
+
+ Object signalHandler = Proxy.newProxyInstance(getClass().getClassLoader(),
+ new Class<?>[] {
+ signalHandlerClass
+ },
+ new InvocationHandler() {
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ Main.this.destroy();
+ return null;
+ }
+ }
+ );
+
+ signalClass.getMethod("handle", signalClass, signalHandlerClass).invoke(
+ null,
+ signalClass.getConstructor(String.class).newInstance("TERM"),
+ signalHandler
+ );
+ } catch (Exception e) {
+ }
}
private void monitor() {
[3/3] karaf git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/karaf
Posted by jb...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/karaf
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/cc8dfd9e
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/cc8dfd9e
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/cc8dfd9e
Branch: refs/heads/master
Commit: cc8dfd9eb5549ee8ffed115a6758d10f9597d30a
Parents: 4623069 6862b62
Author: Jean-Baptiste Onofr� <jb...@apache.org>
Authored: Tue Jun 21 18:23:09 2016 +0200
Committer: Jean-Baptiste Onofr� <jb...@apache.org>
Committed: Tue Jun 21 18:23:09 2016 +0200
----------------------------------------------------------------------
.../org/apache/karaf/features/internal/service/Deployer.java | 8 +++++++-
pom.xml | 6 +++---
2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
[2/3] karaf git commit: Merge branch 'KARAF-4569' of
https://github.com/lburgazzoli/karaf
Posted by jb...@apache.org.
Merge branch 'KARAF-4569' of https://github.com/lburgazzoli/karaf
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/46230691
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/46230691
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/46230691
Branch: refs/heads/master
Commit: 46230691f7ff35eeb7203d956b575daea8e02245
Parents: 1c6819c cb9a94a
Author: Jean-Baptiste Onofr� <jb...@apache.org>
Authored: Tue Jun 21 18:04:11 2016 +0200
Committer: Jean-Baptiste Onofr� <jb...@apache.org>
Committed: Tue Jun 21 18:04:11 2016 +0200
----------------------------------------------------------------------
.../main/java/org/apache/karaf/main/Main.java | 36 ++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
----------------------------------------------------------------------