KARAF-3945 - do not set permgen settings in java 8

Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/eaca8378
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/eaca8378
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/eaca8378

Branch: refs/heads/master
Commit: eaca83783de28aeb83d34c92d8785ee4e5d52669
Parents: 5412738
Author: Jonathan Anstey <[email protected]>
Authored: Thu Aug 20 13:14:26 2015 -0230
Committer: Jonathan Anstey <[email protected]>
Committed: Thu Aug 20 13:14:46 2015 -0230

----------------------------------------------------------------------
 .../main/filtered-resources/resources/bin/client  | 18 ++++++++++--------
 .../filtered-resources/resources/bin/instance     | 18 ++++++++++--------
 .../main/filtered-resources/resources/bin/shell   | 18 ++++++++++--------
 .../base/src/main/resources/resources/bin/karaf   | 18 ++++++++++--------
 4 files changed, 40 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/eaca8378/assemblies/features/base/src/main/filtered-resources/resources/bin/client
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/filtered-resources/resources/bin/client 
b/assemblies/features/base/src/main/filtered-resources/resources/bin/client
index 17b9b13..7b112ae 100755
--- a/assemblies/features/base/src/main/filtered-resources/resources/bin/client
+++ b/assemblies/features/base/src/main/filtered-resources/resources/bin/client
@@ -233,14 +233,16 @@ setupDefaults() {
 
     #Set the JVM_VENDOR specific JVM flags
     if [ "$JVM_VENDOR" = "SUN" ]; then
-        #
-        # Check some easily accessible MIN/MAX params for JVM mem usage
-        #
-        if [ "x$JAVA_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:PermSize=$JAVA_PERM_MEM"
-        fi
-        if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+        # permgen was removed in Java 8
+        VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9]).*"' | 
awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed 
-e 's;\.;;g'`
+        if [ "$VERSION" -lt "80" ]; then
+            # Check some easily accessible MIN/MAX params for JVM mem usage
+            if [ "x$JAVA_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:PermSize=$JAVA_PERM_MEM"
+            fi
+            if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+            fi
         fi
         DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS 
-Dcom.sun.management.jmxremote"
     elif [ "$JVM_VENDOR" = "IBM" ]; then

http://git-wip-us.apache.org/repos/asf/karaf/blob/eaca8378/assemblies/features/base/src/main/filtered-resources/resources/bin/instance
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/filtered-resources/resources/bin/instance 
b/assemblies/features/base/src/main/filtered-resources/resources/bin/instance
index 1084042..ff717d3 100755
--- 
a/assemblies/features/base/src/main/filtered-resources/resources/bin/instance
+++ 
b/assemblies/features/base/src/main/filtered-resources/resources/bin/instance
@@ -255,14 +255,16 @@ setupDefaults() {
 
     #Set the JVM_VENDOR specific JVM flags
     if [ "$JVM_VENDOR" = "SUN" ]; then
-        #
-        # Check some easily accessible MIN/MAX params for JVM mem usage
-        #
-        if [ "x$JAVA_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:PermSize=$JAVA_PERM_MEM"
-        fi
-        if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+        # permgen was removed in Java 8
+        VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9]).*"' | 
awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed 
-e 's;\.;;g'`
+        if [ "$VERSION" -lt "80" ]; then
+            # Check some easily accessible MIN/MAX params for JVM mem usage
+            if [ "x$JAVA_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:PermSize=$JAVA_PERM_MEM"
+            fi
+            if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+            fi
         fi
         DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS 
-Dcom.sun.management.jmxremote"
     elif [ "$JVM_VENDOR" = "IBM" ]; then

http://git-wip-us.apache.org/repos/asf/karaf/blob/eaca8378/assemblies/features/base/src/main/filtered-resources/resources/bin/shell
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/filtered-resources/resources/bin/shell 
b/assemblies/features/base/src/main/filtered-resources/resources/bin/shell
index e200ba9..6f6dea7 100755
--- a/assemblies/features/base/src/main/filtered-resources/resources/bin/shell
+++ b/assemblies/features/base/src/main/filtered-resources/resources/bin/shell
@@ -255,14 +255,16 @@ setupDefaults() {
 
     #Set the JVM_VENDOR specific JVM flags
     if [ "$JVM_VENDOR" = "SUN" ]; then
-        #
-        # Check some easily accessible MIN/MAX params for JVM mem usage
-        #
-        if [ "x$JAVA_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:PermSize=$JAVA_PERM_MEM"
-        fi
-        if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+        # permgen was removed in Java 8
+        VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9]).*"' | 
awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed 
-e 's;\.;;g'`
+        if [ "$VERSION" -lt "80" ]; then
+            # Check some easily accessible MIN/MAX params for JVM mem usage
+            if [ "x$JAVA_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:PermSize=$JAVA_PERM_MEM"
+            fi
+            if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+            fi
         fi
         DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS 
-Dcom.sun.management.jmxremote"
     elif [ "$JVM_VENDOR" = "IBM" ]; then

http://git-wip-us.apache.org/repos/asf/karaf/blob/eaca8378/assemblies/features/base/src/main/resources/resources/bin/karaf
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/resources/resources/bin/karaf 
b/assemblies/features/base/src/main/resources/resources/bin/karaf
index 3318101..e5505c6 100755
--- a/assemblies/features/base/src/main/resources/resources/bin/karaf
+++ b/assemblies/features/base/src/main/resources/resources/bin/karaf
@@ -278,14 +278,16 @@ setupDefaults() {
 
     #Set the JVM_VENDOR specific JVM flags
     if [ "$JVM_VENDOR" = "SUN" ]; then
-        #
-        # Check some easily accessible MIN/MAX params for JVM mem usage
-        #
-        if [ "x$JAVA_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:PermSize=$JAVA_PERM_MEM"
-        fi
-        if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
-            DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+        # permgen was removed in Java 8
+        VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9]).*"' | 
awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed 
-e 's;\.;;g'`
+        if [ "$VERSION" -lt "80" ]; then
+            # Check some easily accessible MIN/MAX params for JVM mem usage
+            if [ "x$JAVA_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:PermSize=$JAVA_PERM_MEM"
+            fi
+            if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
+                DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS 
-XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+            fi
         fi
         DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS 
-Dcom.sun.management.jmxremote"
     elif [ "$JVM_VENDOR" = "IBM" ]; then

Reply via email to