简体   繁体   中英

problem with seam and mdb on jboss5.1

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 component 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM