моя война с применением скопирована в /opt/glassfish7/glassfish/domains/domain1/autodeploy/ либо во время сборки изображения, либо с докером cp. /opt/glassfish7/glassfish/domains/domain1/logs/server.log . Это остается простоям время около 100 ~ 110 секунд, затем переходит только к успешному развертыванию. < /P>
Я не устанавливаю папку с автоматической точкой как том. < /P>
< /li>
Старое развертывание успешно удаляется перед исправлением. /> < /ul>
Из -за моего понимания, похоже, что сканер Autodeploy Glassfish продолжает думать, что война изменилась, и запускает перераспределение, даже если он не имеет.
Код: Выделить всё
# java Build Stage
FROM eclipse-temurin:17-jdk-jammy AS build
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
# Build war file
RUN --mount=type=cache,target=/root/.m2 chmod +x ./mvnw && ./mvnw -f pom.xml clean package
# Deployment Stage
FROM ghcr.io/eclipse-ee4j/glassfish
# Copy WAR to autodeploy
COPY --from=build /app/target/*.war /opt/glassfish7/glassfish/domains/domain1/autodeploy/web.war
Код: Выделить всё
version: '3.8'
services:
servlet_app:
container_name: ${APP_CONTAINER_NAME}
user: root
restart: always
image: clinic_management_app:latest
volumes:
- ./src/main/Content:${FILE_UPLOAD_PATH}
- ./src/main/Logs:${LOG_PATH}
- ./src/main/Database:${DB_SOURCE_PATH}
build: .
ports:
- "8080:8080"
- "4848:4848"
environment:
JTA_DATA_SOURCE: ${JTA_DATA_SOURCE}
FILE_UPLOAD_PATH: ${FILE_UPLOAD_PATH}
LOG_PATH: ${LOG_PATH}
UNAUTHORIZED_PAGE: ${UNAUTHORIZED_PAGE}
INTERNAL_ERROR_PAGE: ${INTERNAL_ERROR_PAGE}
NOT_FOUND_PAGE: ${NOT_FOUND_PAGE}
DB_NAME: ${DB_NAME}
DB_SYSTEM_PATH: ${DB_SYSTEM_PATH}
DB_SEQUENCE_FILE_NAME: ${DB_SEQUENCE_FILE_NAME}
DB_SOURCE_PATH: ${DB_SOURCE_PATH}
Зарегистрировано в консоле администратора. Развертывание. < /P>
< /li>
выбрал мой файл войны с локальной машины. < /P>
< /li>
выбрал цель развертывания по умолчанию (сервер). < /P>
< /li>
оставленные все настройки в качестве дефицита (. false). < /p>
< /li>
Нажмите OK для развертывания. Завершается-то же самое, что я вижу при использовании Autodeploy /.
Это последняя строка перед длинным периодом холостого хода:
Код: Выделить всё
[#|2025-08-12T09:03:01.771952Z|INFO|GF 7.0.23|jakarta.enterprise.system.jmx|...|JMXStartupService has started JMXConnector on JMXService URL service:jmx:rmi://54f5307ef096:8686/jndi/rmi://54f5307ef096:8686/jmxrmi|#]
< /code>
После этого примерно 92 секунды NO log[#|2025-08-12T09:03:45.112843Z|INFO|GF 7.0.23|...|web was successfully deployed in 93,498 milliseconds.|#]
[2025-08-12T14:47:55.261988Z] [] [INFO] [NCLS-GFLAUNCHER-00005] [jakarta.enterprise.launcher] [tid: _ThreadID=1 _ThreadName=main] [levelValue: 800] [[
JVM invocation command line:
/opt/java/openjdk/bin/java
-cp
/opt/glassfish7/glassfish/modules/glassfish.jar
-DWALL_CLOCK_START=2025-08-12T14:47:54.847684119Z
-XX:+UnlockDiagnosticVMOptions
-XX:NewRatio=2
-Xmx512m
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/sun.nio.fs=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.jrt=ALL-UNNAMED
--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED
--add-exports=java.base/jdk.internal.vm.annotation=ALL-UNNAMED
--add-opens=java.base/jdk.internal.vm.annotation=ALL-UNNAMED
-javaagent:/opt/glassfish7/glassfish/lib/monitor/flashlight-agent.jar
-Djava.awt.headless=true
-Djdk.corba.allowOutputStreamSubclass=true
-Djdk.tls.rejectClientInitiatedRenegotiation=true
-Djavax.xml.accessExternalSchema=all
-Djava.security.policy=/opt/glassfish7/glassfish/domains/domain1/config/server.policy
-Djava.security.auth.login.config=/opt/glassfish7/glassfish/domains/domain1/config/login.conf
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-Djavax.net.ssl.keyStore=/opt/glassfish7/glassfish/domains/domain1/config/keystore.jks
-Djavax.net.ssl.trustStore=/opt/glassfish7/glassfish/domains/domain1/config/cacerts.jks
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.shell.remote,org.apache.felix.fileinstall
-Dosgi.shell.telnet.port=6666
-Dosgi.shell.telnet.maxconn=1
-Dosgi.shell.telnet.ip=127.0.0.1
-Dgosh.args=--nointeractive
-Dfelix.fileinstall.dir=/opt/glassfish7/glassfish/modules/autostart/
-Dfelix.fileinstall.poll=5000
-Dfelix.fileinstall.log.level=2
-Dfelix.fileinstall.bundles.new.start=true
-Dfelix.fileinstall.bundles.startTransient=true
-Dfelix.fileinstall.disableConfigSave=false
-Dorg.glassfish.gmbal.no.multipleUpperBoundsException=true
-Dcom.ctc.wstx.returnNullForDefaultNamespace=true
-Djdk.attach.allowAttachSelf=true
-Dcom.sun.aas.instanceRoot=/opt/glassfish7/glassfish/domains/domain1
-Dcom.sun.aas.installRoot=/opt/glassfish7/glassfish
-Djava.library.path=/opt/glassfish7/glassfish/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
com.sun.enterprise.glassfish.bootstrap.GlassFishMain
-upgrade
false
-domaindir
/opt/glassfish7/glassfish/domains/domain1
-read-stdin
true
-asadmin-args
--host,,,localhost,,,--port,,,4848,,,--user,,,admin,,,--passwordfile,,,/password.txt,,,--secure=false,,,--terse=false,,,--echo=false,,,--interactive=false,,,start-domain,,,--verbose=false,,,--watchdog=false,,,--debug=false,,,--domaindir,,,/opt/glassfish7/glassfish/domains,,,domain1
-domainname
domain1
-instancename
server
-type
DAS
-verbose
false
-asadmin-classpath
/opt/glassfish7/glassfish/modules/admin-cli.jar
-debug
false
-asadmin-classname
com.sun.enterprise.admin.cli.AdminMain]]
< /code>
Информация об ошибке < /p>
Во время развертывания < /li>
нет журналов. Speed. < /li>
< /ul>
Вопросы: < /p>
Как я могу избежать длинного окна на холостом ходу после JMXStartupService, но до зарегистрированного хода развертывания, когда нет суровых действий?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-docker