[jboss-jira] [JBoss JIRA] (AS7-5510) EJB deploys with dual definition
Dan Wilkin (JIRA)
jira-events at lists.jboss.org
Fri Sep 7 10:14:32 EDT 2012
[ https://issues.jboss.org/browse/AS7-5510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12716650#comment-12716650 ]
Dan Wilkin commented on AS7-5510:
---------------------------------
A sample invocation would look as follows (nothing unusual or broken here):
{code:title=Green.java}
@Stateless
@Remote(Green.class)
public class GreenSLSB implements Green {
@EJB
private Red red;
public void startup() {
red.doWork(); <-- exception starts here
}
}
{code}
> EJB deploys with dual definition
> --------------------------------
>
> Key: AS7-5510
> URL: https://issues.jboss.org/browse/AS7-5510
> Project: Application Server 7
> Issue Type: Feature Request
> Components: EJB
> Affects Versions: 7.1.0.Final
> Environment: Windows 7
> Reporter: Dan Wilkin
> Assignee: jaikiran pai
>
> When two uniquely defined Session Beans reference the same interface in the {{@Remote}} annotation, the following exception occurs:
> {noformat}
> Caused by: org.jboss.invocation.CannotProceedException: INV-00002:Invocation cannot proceed (end of interceptor chain has been hit)
> at org.jboss.invocation.InvocationMessages_$bundle.cannotProceed(InvocationMessages_$bundle.java:131) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:293) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
> at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
> at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:202) [jboss-as-ejb3-7.1.0.Final.jar:7.1.0.Final]
> ... 100 more
> {noformat}
> This can occur from a copy-paste error:
> {code:title=RedSLSB.java}
> @Stateless
> @Remote(Red.class)
> public class RedSLSB implements Red {
> public void doWork() {...}
> ...
> }
> {code}
> {code:title=BlueSLSB.java}
> @Stateless
> @Remote(Red.class)
> public class BlueSLSB implements Blue {
> ...
> }
> {code}
> An invocation on an {{@EJB}} injected _RedSLSB_ on the method {{doWork()}} from within _another SLSB_ (not BlueSLSB) provokes the exception above. Revising the {{@Remote}} annotation in the example code for _BlueSLSB_ to {{@Remote(Blue.class)}} eliminates this issue. BlueSLSB turns out to be an arbitrary poorly defined bean uninvolved in the thread of execution leading to the exception.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list