开发者

problem with seam and mdb on jboss5.1

开发者 https://www.devze.com 2023-01-03 10:42 出处:网络
I have a problem when using a mdb as a seam component. In the bean I inject some other seam somponents.

I have a problem when using a mdb as a seam component. In the bean I inject some other seam somponents.

The problem is that when the server restart after a crash and the mdb is deployed it starts reading the messages but seam is not initialized yet and I got an exception(listed above). If i start the server whith the queues empty and submit a message to queue after the server start it is working ok.

Is there a posibility to stop or delay the sending off messages on server startup and start sending them only when seam is fully funcional?

I tried the @Depends antotatin on the bean but withowt success

my environment : jboss5.1 GA seam 2.2.0 GA jboss messaging 1.4

Any help would be appreceated

the error on startup :

11:24:20,477 ERROR [TxPolicy] javax.ejb.EJBTransactionRolledbackException: java.lang.IllegalStateException: Attempted to invoke a Seam com开发者_JS百科ponent outside an initialized application

11:24:30,483 ERROR [TxPolicy] javax.ejb.EJBException: Failed to acquire the pool semaphore, strictTimeout=10000


Find the solution...I was trying with the wrong name pattrn with @Depends

Add this annotation:

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

Where myappname is the name of your app's warfile. This will delay the initialization of the MDB until after Seam has finished initializing during the war deployment.

Hope this helps someone

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号