【问题标题】:JBoss : Timeout Exception during deployment of War FileJBoss:部署战争文件期间出现超时异常
【发布时间】:2016-03-28 13:30:29
【问题描述】:

我正在尝试在我的远程服务器上部署一个战争,该服务器不断失败并出现类似 TimeOutException 的错误。

我已经在网上检查过类似的问题,但现在运气不好:

请查看下面生成的日志,因为我不确定我在这里缺少什么。我还更新了我的standalone.xml (添加了 deployment-timeout="240L" ) 文件,如下所示:

<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
            <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" deployment-timeout="240L" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
</subsystem>

但我仍然遇到同样的异常,好像我在这里遗漏了一些东西,日志如下:

http://pastebin.com/BS6hrJ4z

【问题讨论】:

    标签: java maven jboss wildfly-9


    【解决方案1】:

    deploy-timeout 的设置不正确。

    <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.0">
        <deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir" path="deployments" deployment-timeout="240" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
    </subsystem>
    

    从部署超时设置中删除“L”,它应该只是数字,然后它应该可以正常工作。

    注意:此部署超时以秒为单位

    此外,您在部署期间遇到了几个 Spring 初始化错误。要获得更多信息,您需要提高日志级别以查看根本原因可能是什么:

    2016-03-28 09:10:44,422 WARN  [org.jboss.as.ee] (MSC service thread 1-7) WFLYEE0007: Not installing optional component org.springframework.http.server.ServletServerHttpAsyncRequestControl due to an exception (enable DEBUG log level to see the cause)
    2016-03-28 09:10:44,423 WARN  [org.jboss.as.ee] (MSC service thread 1-7) WFLYEE0007: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to an exception (enable DEBUG log level to see the cause)
    

    【讨论】:

    • 嗨,这又失败了,和以前一样。
    【解决方案2】:

    查看您的日志后,您的部署似乎需要超过 5 分钟才能完成。增加超时不是解决方案。

    相反,您应该将部署分解成更小的部分并检查发生了什么。

    我要检查的事情:

    • 评估您对 Spring 的依赖。我知道 Spring 的人会因此而讨厌我,但现在大多数应用程序都不需要“完整的 Spring”。几乎所有事情都可以使用 Java EE 标准来实现,这些标准由您的容器(在本例中为 Wildfly)提供给您。这减少了应用程序的总体占用空间,使 WAR 文件更精简,部署更快。

    • 自己回答:我为什么需要ehcache?您正在使用功能强大的应用程序服务器,为您“免费”提供 JPA 和二级缓存。您不需要发布 Hibernate 和 ehcache,除非您需要使用非常特定的 Hibernate+ehcache 版本/功能。

    • 尝试将 Java EE 示例中的一些应用程序部署到您的 Wildfly。与 EC2/OpenShift 上的一台合理机器相比,它们是否也需要“长时间”?如果是这样,这可能表明问题出在环境上,而不是您的应用程序上。 Java EE 示例:https://github.com/javaee-samples/javaee7-samples

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多