diff --git a/engine/src/main/java/com/arcadedb/engine/PaginatedComponentFile.java b/engine/src/main/java/com/arcadedb/engine/PaginatedComponentFile.java index 07844d7fdc..b93a5b13ae 100644 --- a/engine/src/main/java/com/arcadedb/engine/PaginatedComponentFile.java +++ b/engine/src/main/java/com/arcadedb/engine/PaginatedComponentFile.java @@ -219,8 +219,7 @@ private void doNotCloseOnInterrupt(final FileChannel fc) { new Class[] { interruptibleClass }, new InterruptibleInvocationHandler())); } catch (final Exception e) { - System.err.println("Couldn't disable close on interrupt"); - e.printStackTrace(); + LogManager.instance().log(this, Level.SEVERE, "Couldn't disable close on interrupt", e); } } } diff --git a/package/src/main/docker/Dockerfile b/package/src/main/docker/Dockerfile index b94cb3131d..d62f7f1f2c 100644 --- a/package/src/main/docker/Dockerfile +++ b/package/src/main/docker/Dockerfile @@ -23,7 +23,12 @@ ENV JAVA_OPTS=" " ENV ARCADEDB_OPTS_MEMORY="-Xms2G -Xmx2G" -ENV ARCADEDB_JMX="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9998" +ENV ARCADEDB_JMX="-Dcom.sun.management.jmxremote=true \ + -Dcom.sun.management.jmxremote.local.only=false \ + -Dcom.sun.management.jmxremote.authenticate=false \ + -Dcom.sun.management.jmxremote.ssl=false \ + -Dcom.sun.management.jmxremote.port=9999 \ + -Dcom.sun.management.jmxremote.rmi.port=9998" RUN useradd -ms /bin/bash arcadedb diff --git a/package/src/main/scripts/console.bat b/package/src/main/scripts/console.bat index 09d6430604..0352d88e4d 100755 --- a/package/src/main/scripts/console.bat +++ b/package/src/main/scripts/console.bat @@ -59,7 +59,14 @@ cd /d %ARCADEDB_HOME% rem Get full command line arguments for the batch file set CMD_LINE_ARGS=%* -set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true -Dfile.encoding=UTF8 -Dpolyglot.engine.WarnInterpreterOnly=false +set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError ^ + --add-exports java.management/sun.management=ALL-UNNAMED ^ + --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED ^ + --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED ^ + -Dpolyglot.engine.WarnInterpreterOnly=false ^ + -Djava.awt.headless=true ^ + -Dfile.encoding=UTF8 ^ + -Djava.util.logging.config.file=config/arcadedb-log.properties "%JAVACMD%" ^ -client ^ diff --git a/package/src/main/scripts/console.sh b/package/src/main/scripts/console.sh index 4c04e89d35..078567c4d6 100644 --- a/package/src/main/scripts/console.sh +++ b/package/src/main/scripts/console.sh @@ -48,7 +48,14 @@ fi if [ -z "$JAVA_OPTS_SCRIPT" ] ; then - JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError --add-opens java.base/java.io=ALL-UNNAMED -Dpolyglot.engine.WarnInterpreterOnly=false -Djava.awt.headless=true -Dfile.encoding=UTF8 --illegal-access=deny" + JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError \ + --add-exports java.management/sun.management=ALL-UNNAMED \ + --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED \ + --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED \ + -Dpolyglot.engine.WarnInterpreterOnly=false \ + -Djava.awt.headless=true \ + -Dfile.encoding=UTF8 \ + --illegal-access=deny" fi if [ $# -gt 0 ] ; then diff --git a/package/src/main/scripts/restore.sh b/package/src/main/scripts/restore.sh index 7c473bff5c..6fb9ff38d2 100644 --- a/package/src/main/scripts/restore.sh +++ b/package/src/main/scripts/restore.sh @@ -47,7 +47,13 @@ else fi if [ -z "$JAVA_OPTS_SCRIPT" ] ; then - JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true -Dfile.encoding=UTF8 -Dpolyglot.engine.WarnInterpreterOnly=false" + JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError \ + --add-exports java.management/sun.management=ALL-UNNAMED \ + --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED \ + --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED \ + -Dpolyglot.engine.WarnInterpreterOnly=false \ + -Djava.awt.headless=true -Dfile.encoding=UTF8 \ + -Djava.util.logging.config.file=config/arcadedb-log.properties" fi exec "$JAVA" $JAVA_OPTS \ diff --git a/package/src/main/scripts/server.bat b/package/src/main/scripts/server.bat index 2f101d4ad8..99cb079d55 100755 --- a/package/src/main/scripts/server.bat +++ b/package/src/main/scripts/server.bat @@ -75,12 +75,24 @@ set CMD_LINE_ARGS=%* :doneSetArgs -set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError --add-exports java.management/sun.management=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED -Dpolyglot.engine.WarnInterpreterOnly=false -Djava.awt.headless=true -Dfile.encoding=UTF8 -Djava.util.logging.config.file=config/arcadedb-log.properties +set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError ^ + --add-exports java.management/sun.management=ALL-UNNAMED ^ + --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED ^ + --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED ^ + -Dpolyglot.engine.WarnInterpreterOnly=false ^ + -Djava.awt.headless=true ^ + -Dfile.encoding=UTF8 ^ + -Djava.util.logging.config.file=config/arcadedb-log.properties rem ARCADEDB memory options, default uses the available RAM. To set it to a specific value, like 2GB of heap, use "-Xms2G -Xmx2G" set ARCADEDB_OPTS_MEMORY= -set ARCADEDB_JMX=-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9998 +set ARCADEDB_JMX=-Dcom.sun.management.jmxremote=true ^ + -Dcom.sun.management.jmxremote.local.only=false ^ + -Dcom.sun.management.jmxremote.authenticate=false ^ + -Dcom.sun.management.jmxremote.ssl=false ^ + -Dcom.sun.management.jmxremote.port=9999 ^ + -Dcom.sun.management.jmxremote.rmi.port=9998 rem TO DEBUG ARCADEDB SERVER RUN IT WITH THESE OPTIONS: rem -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 diff --git a/package/src/main/scripts/server.sh b/package/src/main/scripts/server.sh index aed21d564b..5eda0b3a0c 100644 --- a/package/src/main/scripts/server.sh +++ b/package/src/main/scripts/server.sh @@ -73,11 +73,22 @@ if [ -z "$ARCADEDB_OPTS_MEMORY" ]; then fi if [ -z "$JAVA_OPTS_SCRIPT" ]; then - JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError --add-exports java.management/sun.management=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED -Dpolyglot.engine.WarnInterpreterOnly=false -Djava.awt.headless=true -Dfile.encoding=UTF8 -Djava.util.logging.config.file=config/arcadedb-log.properties" + JAVA_OPTS_SCRIPT="-XX:+HeapDumpOnOutOfMemoryError \ + --add-exports java.management/sun.management=ALL-UNNAMED \ + --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED \ + --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED \ + -Dpolyglot.engine.WarnInterpreterOnly=false \ + -Djava.awt.headless=true -Dfile.encoding=UTF8 \ + -Djava.util.logging.config.file=config/arcadedb-log.properties" fi if [ -z "$ARCADEDB_JMX" ]; then - ARCADEDB_JMX="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9998" + ARCADEDB_JMX="-Dcom.sun.management.jmxremote=true \ + -Dcom.sun.management.jmxremote.local.only=false \ + -Dcom.sun.management.jmxremote.authenticate=false \ + -Dcom.sun.management.jmxremote.ssl=false \ + -Dcom.sun.management.jmxremote.port=9999 \ + -Dcom.sun.management.jmxremote.rmi.port=9998" fi echo $$ >$ARCADEDB_PID diff --git a/pom.xml b/pom.xml index bcf82dcd7e..02b9ff08f8 100644 --- a/pom.xml +++ b/pom.xml @@ -221,6 +221,7 @@ --add-exports java.management/sun.management=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED + --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED