You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by jg...@apache.org on 2006/02/08 02:40:38 UTC

svn commit: r375825 - /incubator/servicemix/trunk/servicemix-assembly/src/main/release/bin/servicemix

Author: jgapuz
Date: Tue Feb  7 17:40:36 2006
New Revision: 375825

URL: http://svn.apache.org/viewcvs?rev=375825&view=rev
Log:
- updated code to include support for AIX - from Jonathan Edwards - CORPXCOE-1.
- added to the Servicemix startup script to include an option to check if the user has set the JAVA_MIN_MEM and JAVA_MAX_MEM on his environment variable. If not the default shall be set. 

Modified:
    incubator/servicemix/trunk/servicemix-assembly/src/main/release/bin/servicemix

Modified: incubator/servicemix/trunk/servicemix-assembly/src/main/release/bin/servicemix
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-assembly/src/main/release/bin/servicemix?rev=375825&r1=375824&r2=375825&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-assembly/src/main/release/bin/servicemix (original)
+++ incubator/servicemix/trunk/servicemix-assembly/src/main/release/bin/servicemix Tue Feb  7 17:40:36 2006
@@ -5,6 +5,18 @@
 
 DIRNAME=`dirname $0`
 PROGNAME=`basename $0`
+#
+# Check/Set up some easily accessible MIN/MAX params for JVM mem usage
+#
+
+if [ "x$JAVA_MIN_MEM" = "x" ]; then
+    export JAVA_MIN_MEM=128M
+fi
+         
+if [ "x$JAVA_MAX_MEM" = "x" ]; then
+    export JAVA_MAX_MEM=512M
+fi
+
 
 warn() {
     echo "${PROGNAME}: $*"
@@ -26,6 +38,7 @@
     # OS specific support (must be 'true' or 'false').
     cygwin=false;
     darwin=false;
+    aix=false;
     case "`uname`" in
         CYGWIN*)
             cygwin=true
@@ -34,7 +47,16 @@
         Darwin*)
             darwin=true
             ;;
+        AIX*)
+            aix=true
+            ;;
     esac
+    # For AIX, set an environment variable
+    if $aix; then
+         export LDR_CNTRL=MAXDATA=0xB0000000@DSA
+         export IBM_JAVA_HEAPDUMP_TEXT=true
+         echo $LDR_CNTRL                           
+    fi
 }
 
 unlimitFD() {
@@ -53,6 +75,7 @@
             fi
             
             ulimit -n $MAX_FD
+            echo "ulimit -n" `ulimit -n`
             if [ $? -ne 0 ]; then
                 warn "Could not set maximum file descriptor limit: $MAX_FD"
             fi
@@ -106,6 +129,17 @@
     fi
 }
 
+detectJVM() {
+   echo "`$JAVA -version`"
+   # This service should call `java -version`, 
+   # read stdout, and look for hints
+   if $JAVA -version 2>&1 | grep "^IBM" ; then
+       JVM_VENDOR="IBM"
+   else
+       JVM_VENDOR="SUN"
+   fi
+   echo "JVM vendor is $JVM_VENDOR"
+}
 setupDebugOptions() {
     if [ "x$JAVA_OPTS" = "x" ]; then
         JAVA_OPTS="$DEFAULT_JAVA_OPTS"
@@ -125,7 +159,17 @@
 }
 
 setupDefaults() {
-    DEFAULT_JAVA_OPTS="-server -Xmx512M -Dderby.system.home=$SERVICEMIX_HOME/var -Dderby.storage.fileSyncTransactionLog=true"
+    DEFAULT_JAVA_OPTS="-Xms$JAVA_MIN_MEM -Xmx$JAVA_MAX_MEM -Dderby.system.home=$SERVICEMIX_HOME/var -Dderby.storage.fileSyncTransactionLog=true"
+
+    #Set the JVM_VENDOR specific JVM flags
+    if [ "$JVM_VENDOR" = "SUN" ]; then
+        DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS"
+    elif [ "$JVM_VENDOR" = "IBM" ]; then
+        DEFAULT_JAVA_OPTS="-Xverify:none $DEFAULT_JAVA_OPTS"
+        if $aix; then
+            DEFAULT_JAVA_OPTS="-Xlp $DEFAULT_JAVA_OPTS"
+        fi
+    fi
     # Add the conf directory so it picks up the Log4J config
     CLASSPATH="$CLASSPATH:$SERVICEMIX_HOME/conf"
     DEFAULT_JAVA_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
@@ -186,6 +230,8 @@
     # Locate the Java VM to execute
     locateJava
     
+    # Determine the JVM vendor
+    detectJVM
     # Setup default options
     setupDefaults
     
@@ -200,6 +246,10 @@
 }
 
 run() {
+    # Compensate for funky hot-deploy issues
+    rm -rf ../wdir
+    touch ../install/*.zip
+    touch ../deploy/*.zip
     # For Cygwin, switch paths to Windows format before running java
     if $cygwin; then
         SERVICEMIX_HOME=`cygpath --path --windows "$SERVICEMIX_HOME"`
@@ -209,6 +259,16 @@
     fi
     
     # Execute the Java Virtual Machine
+    echo $JAVA \
+        $JAVA_OPTS \
+        $SERVICEMIX_OPTS \
+        -classpath "$CLASSPATH" \
+        -Dclassworlds.conf="$CLASSWORLDS_CONF" \
+        -Dservicemix.home="$SERVICEMIX_HOME" \
+        -Dcygwin.user.home="$CYGHOME" \
+        -Djava.endorsed.dirs="$SERVICEMIX_HOME/lib/endorsed" \
+        org.codehaus.classworlds.Launcher \
+        "$@"        
     exec $JAVA \
         $JAVA_OPTS \
         $SERVICEMIX_OPTS \
@@ -218,7 +278,7 @@
         -Dcygwin.user.home="$CYGHOME" \
         -Djava.endorsed.dirs="$SERVICEMIX_HOME/lib/endorsed" \
         org.codehaus.classworlds.Launcher \
-        "$@"
+        "$@"      
 }
 
 main() {