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(-)
----------------------------------------------------------------------