From 15c5002be1d5f4992215749ac4f08847e59f4491 Mon Sep 17 00:00:00 2001 From: leonardossz Date: Mon, 1 Mar 2021 22:44:37 +0100 Subject: [PATCH 1/2] + Since Java 11 jaxb libraries must be explicit declared as dependencies + Removed __unused__ maven integration test plugin which was using jaxb-rt (failsafe-plugin) + Server shutdown improved a bit + Updated README.md --- indra-mongo/pom.xml | 15 ----------- indra-service/README.md | 2 +- indra-service/pom.xml | 11 ++++++++ .../org/lambda3/indra/service/Server.java | 12 ++++----- pom.xml | 27 +++++++++---------- 5 files changed, 31 insertions(+), 36 deletions(-) diff --git a/indra-mongo/pom.xml b/indra-mongo/pom.xml index 176a165..32a0561 100644 --- a/indra-mongo/pom.xml +++ b/indra-mongo/pom.xml @@ -26,21 +26,6 @@ maven-jar-plugin - - org.apache.maven.plugins - maven-surefire-plugin - - - - org.apache.maven.plugins - maven-failsafe-plugin - - - localhost:27017 - - - - org.apache.maven.plugins maven-source-plugin diff --git a/indra-service/README.md b/indra-service/README.md index fb848ec..fed3c92 100644 --- a/indra-service/README.md +++ b/indra-service/README.md @@ -20,4 +20,4 @@ This is a REST Service that interfaces with the Java Indra Client. "t2": "car", "t1": "engine" }] - }' "http://localhost:8916/indra/v1/relatedness" \ No newline at end of file + }' "http://localhost:8916/relatedness" \ No newline at end of file diff --git a/indra-service/pom.xml b/indra-service/pom.xml index b217980..792a41f 100644 --- a/indra-service/pom.xml +++ b/indra-service/pom.xml @@ -181,12 +181,23 @@ indra-core ${project.version} + org.lambda3.indra indra-mongo ${project.version} + + jakarta.xml.bind + jakarta.xml.bind-api + + + + org.glassfish.jaxb + jaxb-runtime + + ch.qos.logback logback-classic diff --git a/indra-service/src/main/java/org/lambda3/indra/service/Server.java b/indra-service/src/main/java/org/lambda3/indra/service/Server.java index a491dca..7ddb3fa 100644 --- a/indra-service/src/main/java/org/lambda3/indra/service/Server.java +++ b/indra-service/src/main/java/org/lambda3/indra/service/Server.java @@ -138,19 +138,19 @@ public synchronized void stop() { logger.info("Terminating Indra Service."); httpServer.shutdownNow(); try { - spaceFactory.close(); + if (spaceFactory != null) { + spaceFactory.close(); + } } catch (IOException e) { logger.error("error closing the vector space factory."); - e.printStackTrace(); } finally { try { - translatorFactory.close(); + if (translatorFactory != null) { + translatorFactory.close(); + } } catch (IOException e) { logger.error("error closing the translator factory."); - e.printStackTrace(); } } } - - } diff --git a/pom.xml b/pom.xml index bb7e209..60a485c 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,8 @@ 1.7.12 7.1.0 mit + 2.9.7 + 2.3.2 @@ -182,20 +184,6 @@ 2.20 - - org.apache.maven.plugins - maven-failsafe-plugin - 2.20 - - - - integration-test - verify - - - - - org.apache.maven.plugins maven-assembly-plugin @@ -249,6 +237,17 @@ ${lucene.version} + + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb.version} + + + + org.glassfish.jaxb + jaxb-runtime + ${jaxb.version} + From b7930f5cd7d57a1deee5bad6648ed3050ca664c5 Mon Sep 17 00:00:00 2001 From: leonardossz Date: Sun, 14 Mar 2021 20:37:38 +0100 Subject: [PATCH 2/2] Java 11 rt + jib Building OCI container with maven jib plugin for java 11 + spotify docker-maven-plugin removed, google jib maven plugin is used instead + lots of simplifications in maven configuration, no need of building a tar.gz dist anymore, it was a requirement to build the image with the former docker-maven-plugin + now some configuration options can be overriden through maven profiles + java 11 is used as base image + mvn clean package builds a new image as before + mvn clean package jib:build builds and push to the repo (if credentials are in place) --- indra-service/docker/.dockerignore | 2 - indra-service/docker/Dockerfile | 10 -- indra-service/pom.xml | 113 +++++------------- .../src/main/assembly/distribution.xml | 61 ---------- indra-service/src/main/config/start | 17 --- .../main/{config => resources}/logback.xml | 0 pom.xml | 9 ++ 7 files changed, 42 insertions(+), 170 deletions(-) delete mode 100644 indra-service/docker/.dockerignore delete mode 100644 indra-service/docker/Dockerfile delete mode 100644 indra-service/src/main/assembly/distribution.xml delete mode 100644 indra-service/src/main/config/start rename indra-service/src/main/{config => resources}/logback.xml (100%) diff --git a/indra-service/docker/.dockerignore b/indra-service/docker/.dockerignore deleted file mode 100644 index d37c1a9..0000000 --- a/indra-service/docker/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -**/*.* -!**/indra-service-*-distribution.tar.gz \ No newline at end of file diff --git a/indra-service/docker/Dockerfile b/indra-service/docker/Dockerfile deleted file mode 100644 index fa63d40..0000000 --- a/indra-service/docker/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM openjdk:8-jre - -ENV INDRA_JAVA_OPTS "-Xmx4g -Dindra.http.host=0.0.0.0" - -WORKDIR /usr/share/indra -ADD indra-service-${project.version}-distribution.tar.gz . -WORKDIR /usr/share/indra/bin - -EXPOSE 8916 -CMD ["./start"] diff --git a/indra-service/pom.xml b/indra-service/pom.xml index 792a41f..26a83f0 100644 --- a/indra-service/pom.xml +++ b/indra-service/pom.xml @@ -19,7 +19,6 @@ org.lambda3.indra.service.Indra 2.26 2.9.7 - @@ -30,6 +29,8 @@ docker true + lambdacube/indra + pass @@ -56,24 +57,6 @@ - - maven-assembly-plugin - - - src/main/assembly/distribution.xml - - - - - make-assembly - package - - single - - - - - org.apache.maven.plugins maven-source-plugin @@ -96,76 +79,46 @@ - maven-resources-plugin - 3.0.2 + com.google.cloud.tools + jib-maven-plugin - copy-resources - validate + package - copy-resources + dockerBuild - - ${project.build.directory}/docker-resources - - - ${project.basedir}/docker - true - - - - - - - com.spotify - docker-maven-plugin - 1.0.0 - ${project.build.directory}/docker-resources - false - lambdacube/indra:${project.version}-${buildNumber} - - - / - ${project.build.directory} - - *.tar.gz - - - + ${skipDocker} + + + adoptopenjdk@sha256:ba0932092f38cdb9fb06cd6fdf0423ff1e4b7c0a288fb4fa396092af00f8c3ad + + + ${server.image} + ${credHelper} + + ${project.version}-${buildNumber} + + + + ${server.mainClass} + + -Xmx4g + -Djava.net.preferIPv4Stack=true + -Dfile.encoding=UTF-8 + -Dindra.http.host=0.0.0.0 + -Dindra.luceneVectorsBaseDir=/data/lucene + -Dindra.annoyBaseDir=/data/annoy + -Dindra.luceneTranslationBaseDir=/data/translation + + + 8916 + + - - - - build-image - package - - build - - - - tag-image - package - - tag - - - lambdacube/indra:${project.version}-${buildNumber} - lambdacube/indra:${project.version} - - - - - - javax.activation - activation - 1.1.1 - - - diff --git a/indra-service/src/main/assembly/distribution.xml b/indra-service/src/main/assembly/distribution.xml deleted file mode 100644 index 34aa2de..0000000 --- a/indra-service/src/main/assembly/distribution.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - distribution - false - - - tar.gz - - - - - lib - 600 - 700 - - - - - - ${project.basedir} - - - README.md - LICENSE.txt - THIRD-PARTY.txt - - - - - ./ - logs - - */** - - - - - ${project.basedir}/src/main/config - conf - - logback.xml - - - - - ${project.build.directory}/site - docs - - - - - - ${project.basedir}/src/main/config/start - bin - 700 - true - - - \ No newline at end of file diff --git a/indra-service/src/main/config/start b/indra-service/src/main/config/start deleted file mode 100644 index b58b5e8..0000000 --- a/indra-service/src/main/config/start +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -cd "${0%/*}" - -BINDIR=`pwd` -ROOTDIR="${BINDIR}/.." -CONFDIR="${ROOTDIR}/conf" -LIBDIR="${ROOTDIR}/lib" - -INDRA_JAVA_OPTS=${INDRA_JAVA_OPTS:--Xmx4g} -echo "INDRA_JAVA_OPTS: ${INDRA_JAVA_OPTS}" - -java -jar -server ${INDRA_JAVA_OPTS} \ - -Djava.net.preferIPv4Stack=true \ - -Dfile.encoding=UTF-8 \ - -Dlogback.configurationFile=${CONFDIR}/logback.xml \ - ${LIBDIR}/${project.artifactId}-${project.version}.jar diff --git a/indra-service/src/main/config/logback.xml b/indra-service/src/main/resources/logback.xml similarity index 100% rename from indra-service/src/main/config/logback.xml rename to indra-service/src/main/resources/logback.xml diff --git a/pom.xml b/pom.xml index 60a485c..82582b9 100644 --- a/pom.xml +++ b/pom.xml @@ -195,6 +195,15 @@ maven-source-plugin 3.0.1 + + + com.google.cloud.tools + jib-maven-plugin + 2.8.0 + + true + +