1

使用 mdb 作为接缝组件时出现问题。在豆子中,我注入了一些其他的接缝成分。

问题是,当服务器在崩溃后重新启动并部署 mdb 时,它开始读取消息,但接缝尚未初始化,我遇到了异常(如上所列)。如果我在队列为空的情况下启动服务器并在服务器启动后将消息提交到队列,它工作正常。

是否有可能在服务器启动时停止或延迟发送消息并仅在接缝完全正常运行时才开始发送它们?

我在豆子上尝试了@Depends antotatin,但没有成功

我的环境:jboss5.1 GA seam 2.2.0 GA jboss messages 1.4

任何帮助将不胜感激

启动时的错误:

11:24:20,477 错误 [TxPolicy] javax.ejb.EJBTransactionRolledbackException:java.lang.IllegalStateException:尝试在已初始化的应用程序之外调用 Seam 组件

11:24:30,483 错误 [TxPolicy] javax.ejb.EJBException:无法获取池信号量,strictTimeout=10000

4

1 回答 1

1

找到解决方案...我尝试使用错误的名称 pattrn 与 @Depends

添加此注释:

@Depends({"jboss.web.deployment:war=/myappname"})

其中 myappname 是您的应用程序的战争文件的名称。这将延迟 MDB 的初始化,直到 Seam 在战争部署期间完成初始化之后。

希望这可以帮助某人

于 2010-06-18T11:04:08.000 回答