[seam-issues] [JBoss JIRA] Commented: (JBSEAM-2286) MDB activated too early to use Seam components as a standard EJB

Tomaz Cerar (JIRA) jira-events at lists.jboss.org
Fri Jan 7 09:07:18 EST 2011


    [ https://issues.jboss.org/browse/JBSEAM-2286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12574113#comment-12574113 ] 

Tomaz Cerar commented on JBSEAM-2286:
-------------------------------------

And you need it to be portable how? or better where? it is portable between different version of jboss..

What is you use case? This does not work on some other app server? if that is so, this is totally different issue..

> MDB activated too early to use Seam components as a standard EJB
> ----------------------------------------------------------------
>
>                 Key: JBSEAM-2286
>                 URL: https://issues.jboss.org/browse/JBSEAM-2286
>             Project: Seam
>          Issue Type: Bug
>          Components: EJB3
>    Affects Versions: 2.0.0.GA
>            Reporter: Siarhei Dudzin
>             Fix For: The future
>
>         Attachments: deploy-hack.zip
>
>
> As specified in the forum reference I have an MDB which uses a SLSB (also declared as Seam component) with business logic. If I deploy the application and there are already messages in the queue I get the following exception:
> javax.ejb.EJBTransactionRolledbackException: java.lang.IllegalStateException: Attempted to invoke a 
> Seam component outside the an initialized application
>         at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)
>         at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
>         at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
>         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:249)
>         at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
>         at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
>         at $Proxy111.onMessage(Unknown Source)
> Looks like the MDB processing the message before Seam is initialized? 
> This forces me to undeclare the SLSB as a Seam component and (potentially) duplicate business logic if I want to re-use the same functionality of the SLSB in Seam.
> I could use the solution from http://www.jboss.org/?module=bb&op=viewtopic&t=100946 but then it would force me to use vendor-specific API.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list