[
https://issues.jboss.org/browse/AS7-1995?page=com.atlassian.jira.plugin.s...
]
Carlo de Wolf commented on AS7-1995:
------------------------------------
Historically we allowed such behavior:
http://community.jboss.org/message/356988#356988
http://community.jboss.org/message/364408#364408
Extra clarification has been asked of the EG:
http://java.net/projects/ejb-spec/lists/jsr345-experts/archive/2011-09/me...
For now the consensus is to interpret EJB 3.1 FR 4.10.13 in the most strict way, thus
dis-allowing any callback loops.
Re-entrant call into SFSB invalidly blocks
------------------------------------------
Key: AS7-1995
URL:
https://issues.jboss.org/browse/AS7-1995
Project: Application Server 7
Issue Type: Bug
Components: EJB
Environment:
https://github.com/wolfc/jboss-as/tree/reentrant
Reporter: Carlo de Wolf
Assignee: Stuart Douglas
Fix For: 7.1.0.CR1
Calling a method on the proxy returned by SessionContext.getBusinessObject(Class) can
lead to incorrect ConcurrentAccess(Timeout)Exceptions.
{code}
@Stateful
public class ReentrantStatefulBean {
@Resource
private SessionContext ctx;
private Object state;
@TransactionAttribute(NEVER)
public void callMe() {
this.state = new Date().toString();
ctx.getBusinessObject(ReentrantStatefulBean.class).check(this.state);
}
@TransactionAttribute(REQUIRED)
public void check(final Object check) {
if (this.state != check)
throw new IllegalStateException("EJB 3.1 FR 21.2 I'm not being
myself today");
}
}
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira