Glassfish 7 jmxstartupservice занимает много времени во время развертывания войны в Docker [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Glassfish 7 jmxstartupservice занимает много времени во время развертывания войны в Docker [закрыто]

Сообщение Anonymous »

Я запускаю Glassfish 7 внутри Docker в Windows.
моя война с применением скопирована в /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
И это мой docker-compose.yaml :

Код: Выделить всё

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}
Чтобы устранить возможные проблемы с Autodeploy, я попытался выполнить ручное развертывание через консоль администратора Glassfish (http: // localhost: 4848):

Зарегистрировано в консоле администратора. Развертывание. < /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.|#]
Вот полный server.log от запуска до развертывания:
[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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»