Jakarta ee 处理运行声明默认web模块的Payara 5的服务器的意外关闭

Jakarta ee 处理运行声明默认web模块的Payara 5的服务器的意外关闭,jakarta-ee,glassfish,payara,Jakarta Ee,Glassfish,Payara,我在生产服务器上运行Payara 5实例时遇到问题,该实例每周重新启动以执行特定任务;Windows更新等。我相信Payara服务正在突然停止,Payara也没有正常关闭。服务重新启动后,除一个应用程序外的所有应用程序都将正确重新部署。导致问题的应用程序是部署到上下文根目录的应用程序,也被声明为默认web模块 java.lang.Exception: Unable to deploy web module XXXXXXX at root context of virtual server ser

我在生产服务器上运行Payara 5实例时遇到问题,该实例每周重新启动以执行特定任务;Windows更新等。我相信Payara服务正在突然停止,Payara也没有正常关闭。服务重新启动后,除一个应用程序外的所有应用程序都将正确重新部署。导致问题的应用程序是部署到上下文根目录的应用程序,也被声明为默认web模块

java.lang.Exception: Unable to deploy web module XXXXXXX at root context of virtual server server, because this virtual server declares a default-web-module
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1833)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1745)
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:107)
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123)
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:294)
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:357)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:538)
    at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:334)
    at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:327)
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:375)
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305)
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:89)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1237)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1168)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我的问题是,如何才能优雅地处理服务器重启和重新部署“已经”部署在上下文根目录下的应用程序?

您创建了服务吗

asadmin创建服务


而且,一般来说,您不需要重新部署应用程序。如果您这样做了,请将人工制品放在域的autodeploy目录中。

这篇关于GlassFish类似问题的文章可能与此相关:谢谢链接。不幸的是,我确实需要将此模块部署为默认web模块,因此我无法使用链接中的解析来修复它。是的。Payara是作为服务运行的,当它启动时,它正在重新部署应用程序,在这个过程中,由于我上面提到的问题,有一个应用程序失败了。