You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/11/19 11:51:57 UTC

svn commit: r718928 - in /servicemix/smx4/kernel/trunk: assembly/src/main/distribution/text/etc/ assembly/src/main/distribution/unix-shell/bin/ assembly/src/main/distribution/windows-text/bin/ gshell/gshell-admin/src/main/java/org/apache/servicemix/ker...

Author: gnodet
Date: Wed Nov 19 02:51:57 2008
New Revision: 718928

URL: http://svn.apache.org/viewvc?rev=718928&view=rev
Log:
SMX4KNL-143: Provide a way to make BouncyCaste work in Smx kernel

Modified:
    servicemix/smx4/kernel/trunk/assembly/src/main/distribution/text/etc/org.apache.servicemix.shell.cfg
    servicemix/smx4/kernel/trunk/assembly/src/main/distribution/unix-shell/bin/servicemix
    servicemix/smx4/kernel/trunk/assembly/src/main/distribution/windows-text/bin/servicemix.bat
    servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java
    servicemix/smx4/kernel/trunk/main/src/main/java/org/apache/servicemix/kernel/main/Main.java

Modified: servicemix/smx4/kernel/trunk/assembly/src/main/distribution/text/etc/org.apache.servicemix.shell.cfg
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/assembly/src/main/distribution/text/etc/org.apache.servicemix.shell.cfg?rev=718928&r1=718927&r2=718928&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/assembly/src/main/distribution/text/etc/org.apache.servicemix.shell.cfg (original)
+++ servicemix/smx4/kernel/trunk/assembly/src/main/distribution/text/etc/org.apache.servicemix.shell.cfg Wed Nov 19 02:51:57 2008
@@ -20,4 +20,4 @@
 #
 startLocalConsole=${servicemix.startLocalConsole}
 startRemoteShell=${servicemix.startRemoteShell}
-remoteShellLocation=tcp://0.0.0.0:8101/
+remoteShellLocation=8101

Modified: servicemix/smx4/kernel/trunk/assembly/src/main/distribution/unix-shell/bin/servicemix
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/assembly/src/main/distribution/unix-shell/bin/servicemix?rev=718928&r1=718927&r2=718928&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/assembly/src/main/distribution/unix-shell/bin/servicemix (original)
+++ servicemix/smx4/kernel/trunk/assembly/src/main/distribution/unix-shell/bin/servicemix Wed Nov 19 02:51:57 2008
@@ -213,12 +213,17 @@
         fi
     fi
 
-    # Add the conf directory so it picks up the Log4J config
-    if [ "x$CLASSPATH" = "x" ]; then
-        CLASSPATH="$SERVICEMIX_HOME/lib/servicemix.jar:$SERVICEMIX_HOME/lib/servicemix-jaas-boot.jar"
-    else
-        CLASSPATH="$CLASSPATH:$SERVICEMIX_HOME/lib/servicemix.jar:$SERVICEMIX_HOME/lib/servicemix-jaas-boot.jar"
-    fi
+    # Add the jars in the lib dir
+    for file in $SERVICEMIX_HOME/lib/*
+    do
+        if [[ $file == *.jar ]]; then
+            if [ "x$CLASSPATH" = "x" ]; then
+                CLASSPATH="$file"
+            else
+                CLASSPATH="$CLASSPATH:$file"
+            fi
+        fi
+    done
     DEFAULT_JAVA_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
 
     ##

Modified: servicemix/smx4/kernel/trunk/assembly/src/main/distribution/windows-text/bin/servicemix.bat
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/assembly/src/main/distribution/windows-text/bin/servicemix.bat?rev=718928&r1=718927&r2=718928&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/assembly/src/main/distribution/windows-text/bin/servicemix.bat (original)
+++ servicemix/smx4/kernel/trunk/assembly/src/main/distribution/windows-text/bin/servicemix.bat Wed Nov 19 02:51:57 2008
@@ -107,6 +107,19 @@
 :SERVICEMIX_PROFILER_END
 
 rem Setup the classpath
+pushd "%SERVICEMIX_HOME%\lib"
+for %%G in (*.*) do call:APPEND_TO_CLASSPATH %%G
+popd
+goto CLASSPATH_END
+
+: APPEND_TO_CLASSPATH
+set filename=%~1
+set suffix=%filename:~-4%
+if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%SERVICEMIX_HOME%\lib\%filename%
+exit
+
+:CLASSPATH_END
+
 set CLASSPATH=%CLASSPATH%;%SERVICEMIX_HOME%\lib\servicemix.jar;%SERVICEMIX_HOME%\lib\servicemix-jaas-boot.jar
 
 rem Execute the JVM or the load the profiler

Modified: servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java?rev=718928&r1=718927&r2=718928&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-admin/src/main/java/org/apache/servicemix/kernel/gshell/admin/internal/InstanceImpl.java Wed Nov 19 02:51:57 2008
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
+import java.io.FilenameFilter;
 import java.util.Properties;
 import java.net.URI;
 import java.net.Socket;
@@ -114,16 +115,26 @@
         if (javaOpts == null) {
             javaOpts = "-server -Xms128M -Xmx512M -Dcom.sun.management.jmxremote";
         }
+        File libDir = new File(System.getProperty("servicemix.home"), "lib");
+        File[] jars = libDir.listFiles(new FilenameFilter() {
+            public boolean accept(File dir, String name) {
+                return name.endsWith(".jar");
+            }
+        });
+        StringBuilder classpath = new StringBuilder();
+        for (File jar : jars) {
+            if (classpath.length() > 0) {
+                classpath.append(System.getProperty("path.separator"));
+            }
+            classpath.append(jar.getCanonicalPath());
+        }
         String command = new File(System.getProperty("java.home"), "bin/java" + (ScriptUtils.isWindows() ? ".exe" : "")).getCanonicalPath()
                 + " " + javaOpts
                 + " -Dservicemix.home=\"" + System.getProperty("servicemix.home") + "\""
                 + " -Dservicemix.base=\"" + new File(location).getCanonicalPath() + "\""
                 + " -Dservicemix.startLocalConsole=false"
                 + " -Dservicemix.startRemoteShell=true"
-                + " -classpath "
-                + new File(System.getProperty("servicemix.home"), "lib/servicemix.jar").getCanonicalPath()
-                + System.getProperty("path.separator")
-                + new File(System.getProperty("servicemix.home"), "lib/servicemix-jaas-boot.jar").getCanonicalPath()
+                + " -classpath " + classpath.toString()
                 + " org.apache.servicemix.kernel.main.Main";
         this.process = ProcessBuilderFactory.newInstance().newBuilder()
                         .directory(new File(location))

Modified: servicemix/smx4/kernel/trunk/main/src/main/java/org/apache/servicemix/kernel/main/Main.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/main/src/main/java/org/apache/servicemix/kernel/main/Main.java?rev=718928&r1=718927&r2=718928&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/main/src/main/java/org/apache/servicemix/kernel/main/Main.java (original)
+++ servicemix/smx4/kernel/trunk/main/src/main/java/org/apache/servicemix/kernel/main/Main.java Wed Nov 19 02:51:57 2008
@@ -35,6 +35,8 @@
 import java.util.Properties;
 import java.util.StringTokenizer;
 import java.util.concurrent.CountDownLatch;
+import java.security.Security;
+import java.security.Provider;
 
 import org.apache.felix.framework.Felix;
 import org.apache.felix.framework.cache.BundleCache;
@@ -153,6 +155,8 @@
         // Copy framework properties from the system properties.
         Main.copySystemProperties(m_configProps);
 
+        processSecurityProperties(m_configProps);
+
         String profileName = m_configProps.getProperty(BundleCache.CACHE_PROFILE_PROP);
         String profileDirName = m_configProps.getProperty(BundleCache.CACHE_PROFILE_DIR_PROP);
 
@@ -397,6 +401,20 @@
         return rc;
     }
 
+    private static void processSecurityProperties(Properties m_configProps) {
+        String prop = m_configProps.getProperty("org.apache.servicemix.security.providers");
+        if (prop != null) {
+            String[] providers = prop.split(",");
+            for (String provider : providers) {
+                try {
+                    Security.addProvider((Provider) Class.forName(provider).newInstance());
+                } catch (Throwable t) {
+                    System.err.println("Unable to register security provider: " + t);
+                }
+            }
+        }
+    }
+
     /**
      * <p/>
      * Processes the auto-install and auto-start properties from the