Use Java 11 in traversal 61/138961/1 1.14.7
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Wed, 18 Sep 2024 14:12:01 +0000 (16:12 +0200)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Wed, 18 Sep 2024 14:12:01 +0000 (16:12 +0200)
- switch compiler version and base image to Java 11
- remove com.sun.jersey (Jersey 1) dependencies
- replace heap_size jvm args with MaxRAMPercentage to scale dynamically with the K8s limits

Issue-ID: AAI-4000
Change-Id: I7db8633593816af495d36eea7b6fc56f1b98e648
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
aai-traversal/pom.xml
aai-traversal/src/main/docker/Dockerfile
aai-traversal/src/main/docker/docker-entrypoint.sh
onap-java-formatter.xml
pom.xml

index 96337d5..f572ac5 100644 (file)
        <artifactId>aai-traversal</artifactId>
 
        <properties>
-               <java.version>1.8</java.version>
+               <java.version>11</java.version>
                <start-class>org.onap.aai.TraversalApp</start-class>
 
                <maven.skip.tests>true</maven.skip.tests>
-               <maven.compiler.source>1.8</maven.compiler.source>
-               <maven.compiler.target>1.8</maven.compiler.target>
+               <maven.compiler.source>11</maven.compiler.source>
+               <maven.compiler.target>11</maven.compiler.target>
 
                <jopt.simple.version>4.9</jopt.simple.version>
 
                <antlr.version>4.9.3</antlr.version>
                <keycloak.version>11.0.2</keycloak.version>
                <activemq.version>5.16.7</activemq.version>
+               <io.swagger.version>1.6.14</io.swagger.version>
 
                <micrometer.version>1.6.6</micrometer.version>
                <mockito.core.version>3.4.0</mockito.core.version>
                </dependency>
                <dependency>
                        <groupId>io.swagger</groupId>
-                       <artifactId>swagger-jersey-jaxrs</artifactId>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>org.glassfish.jersey.media</groupId>
-                                       <artifactId>jersey-media-multipart</artifactId>
-                               </exclusion>
-                               <exclusion>
-                                       <artifactId>jersey-core</artifactId>
-                                       <groupId>com.sun.jersey</groupId>
-                               </exclusion>
-                               <exclusion>
-                                       <artifactId>jersey-json</artifactId>
-                                       <groupId>com.sun.jersey</groupId>
-                               </exclusion>
-                               <exclusion>
-                                       <artifactId>jersey-server</artifactId>
-                                       <groupId>com.sun.jersey</groupId>
-                               </exclusion>
-                               <exclusion>
-                                       <artifactId>jersey-client</artifactId>
-                                       <groupId>com.sun.jersey</groupId>
-                               </exclusion>
-                               <exclusion>
-                                       <artifactId>jsr311-api</artifactId>
-                                       <groupId>javax.ws.rs</groupId>
-                               </exclusion>
-                               <exclusion>
-                                       <artifactId>jersey-multipart</artifactId>
-                                       <groupId>com.sun.jersey.contribs</groupId>
-                               </exclusion>
-                       </exclusions>
+                       <artifactId>swagger-jersey2-jaxrs</artifactId>
+                       <version>${io.swagger.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.commons</groupId>
                        <groupId>org.janusgraph</groupId>
                        <artifactId>janusgraph-inmemory</artifactId>
                        <version>${janusgraph.version}</version>
-       </dependency>
+               </dependency>
                <dependency>
                        <groupId>com.github.jnr</groupId>
                        <artifactId>jnr-ffi</artifactId>
                     <groupId>org.onap.aai.aai-common</groupId>
                     <artifactId>aai-aaf-auth</artifactId>
                 </exclusion>
-                <exclusion>
-                    <groupId>com.sun.jersey</groupId>
-                    <artifactId>jersey-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.codehaus.jackson</groupId>
-                    <artifactId>jackson-mapper-asl</artifactId>
-                </exclusion>
                 <exclusion>
                     <groupId>org.eclipse.jetty</groupId>
                     <artifactId>jetty-http</artifactId>
                <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-jms</artifactId>
-                       <exclusions>
-                               <exclusion>
-                                       <groupId>com.sun.jersey</groupId>
-                                       <artifactId>jersey-core</artifactId>
-                               </exclusion>
-                       </exclusions>
                </dependency>
                <dependency>
                        <groupId>org.onap.aai.aai-common</groupId>
index e17fa90..3bd8e4e 100644 (file)
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:8-jre-alpine
+FROM eclipse-temurin:11-jre-alpine
 # curl is used in the putTool script
 # (PUT's can't be done using the busybox wget)
 RUN apk --no-cache add curl
index be29460..9325ec6 100644 (file)
@@ -40,30 +40,22 @@ MAX_METASPACE_SIZE=${MAX_METASPACE_SIZE:-512m};
 
 JAVA_CMD="exec java";
 
-JVM_OPTS="${PRE_JVM_ARGS} -Xloggc:/opt/app/aai-traversal/logs/gc/aai_gc.log";
+JVM_OPTS="${PRE_JVM_ARGS}";
 JVM_OPTS="${JVM_OPTS} -XX:HeapDumpPath=/opt/app/aai-traversal/logs/ajsc-jetty/heap-dump";
-JVM_OPTS="${JVM_OPTS} -Xms${MIN_HEAP_SIZE}";
-JVM_OPTS="${JVM_OPTS} -Xmx${MAX_HEAP_SIZE}";
-
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps";
 JVM_OPTS="${JVM_OPTS} -XX:MaxMetaspaceSize=${MAX_METASPACE_SIZE}";
+JVM_OPTS="${JVM_OPTS} -XX:MaxRAMPercentage=${MAX_RAM_PERCENTAGE:-60}";
 
 JVM_OPTS="${JVM_OPTS} -server";
 JVM_OPTS="${JVM_OPTS} -XX:NewSize=512m";
 JVM_OPTS="${JVM_OPTS} -XX:MaxNewSize=512m";
 JVM_OPTS="${JVM_OPTS} -XX:SurvivorRatio=8";
 JVM_OPTS="${JVM_OPTS} -XX:+DisableExplicitGC";
-JVM_OPTS="${JVM_OPTS} -verbose:gc";
-JVM_OPTS="${JVM_OPTS} -XX:+UseParNewGC";
+JVM_OPTS="${JVM_OPTS} -XX:+UseG1GC";
 JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled";
 JVM_OPTS="${JVM_OPTS} -XX:+CMSClassUnloadingEnabled";
-JVM_OPTS="${JVM_OPTS} -XX:+UseConcMarkSweepGC";
 JVM_OPTS="${JVM_OPTS} -XX:-UseBiasedLocking";
 JVM_OPTS="${JVM_OPTS} -XX:ParallelGCThreads=4";
 JVM_OPTS="${JVM_OPTS} -XX:LargePageSizeInBytes=128m";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps";
 JVM_OPTS="${JVM_OPTS} -Dsun.net.inetaddr.ttl=180";
 JVM_OPTS="${JVM_OPTS} -XX:+HeapDumpOnOutOfMemoryError";
 JVM_OPTS="${JVM_OPTS} ${POST_JVM_ARGS}";
index 920d37b..29dbb9a 100644 (file)
@@ -2,11 +2,11 @@
 <profiles version="12">
 <profile kind="CodeFormatterProfile" name="onap-java-formatter" version="12">
 <setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
-<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
-<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.8"/>
+<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="11"/>
+<setting id="org.eclipse.jdt.core.compiler.compliance" value="11"/>
 <setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
 <setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
-<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
+<setting id="org.eclipse.jdt.core.compiler.source" value="11"/>
 <setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
 <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
 <setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="48"/>
diff --git a/pom.xml b/pom.xml
index ce85ecc..0af26d2 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.onap.aai.aai-common</groupId>
         <artifactId>aai-parent</artifactId>
-        <version>1.14.6</version>
+        <version>1.14.7</version>
     </parent>
     <groupId>org.onap.aai.traversal</groupId>
     <artifactId>traversal</artifactId>
@@ -41,7 +41,7 @@
             Nexus Proxy Properties and Snapshot Locations
             Ideally this can be overwritten at runtime per internal environment specific values at runtime
         -->
-        <aai.common.version>1.14.6</aai.common.version>
+        <aai.common.version>1.14.7</aai.common.version>
         <nexusproxy>https://nexus.onap.org</nexusproxy>
         <site.path>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</site.path>
         <release.path>/content/repositories/releases/</release.path>