8

我正在将应用程序从 JBOSS 4 迁移到 JBOSSSAS 7。我遵循迁移指南,将所有 ejb 转换为 ejb3,修复了 JNDI 名称。部署 ear 后,我看到 EJB 已绑定的消息。之后它进入等待状态,然后超时并显示以下消息:

JBAS015052:在允许的超时期限 [1200 秒] 内未收到对部署操作的响应。检查服务器配置文件和服务器日志以了解有关部署状态的更多信息。

我打开了对 DEBUG 的日志记录,这给了我一些关于 Transaction 和 NIO 等的例外情况(在 JBOSS 消息组和这个消息组中花费了大量时间之后,我发现它们是无害的)。

我不知道如何调试这个。我得到了进程的堆栈转储,但我看到的只是部署扫描器正在等待某些东西。不确定是什么:

“DeploymentScanner-threads - 2”prio=5 tid=0000000003d77400 nid=0xb6447000 in Object.wait() [00000000b6446000] java.lang.Thread.State: WAITING (在对象监视器上)

任何人都知道如何调试这个?在这一点上,我非常沮丧。我的意思是如果它没有抛出错误,我应该如何调试它?

4

1 回答 1

16

这是一个旧帖子,但是,如果你们中的一些人有类似的问题,您可以尝试增加deployment-timeout您的standalone.xml,

  1. 找到这个块

     <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
         <deployment-scanner path="deployments"
             relative-to="jboss.server.base.dir"
             scan-interval="5000" />
     </subsystem>
    
  2. 然后将属性deployment-timeout(以秒为单位)添加到一个值(如 20 分钟)

     <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
         <deployment-scanner path="deployments" relative-to="jboss.server.base.dir"
             scan-interval="5000" deployment-timeout="1200"/>
     </subsystem>
    

看看这个以供参考

JBAS015052:在允许的超时期限 [60 秒] 内未收到对部署操作的响应

这是过载环境中的常见问题。

于 2014-09-09T15:12:59.433 回答