TransactionAttributeType bug

0 views
Skip to first unread message

Havoc Pennington

unread,
Nov 11, 2006, 3:40:34 AM11/11/06
to mug...@googlegroups.com
So far my test case isn't very minimal. ;-)

The bug is that in some cases the TransactionAttribute is being ignored.
(It came up in the context of type NEVER and that's what I've been
testing with.)

The huge test case has a base interface TestTxBase<T,R> and derived
interface TestTx extends TestTxBase<Integer,Boolean>, and an abstract
bean TestTxBaseBean<T,R> implements TestTxBase<T,R>, and a concrete bean
TestTxBean extends TestTxBaseBean<Integer,Boolean> implements TestTx,
then if a method is all of:
A. declared in TestTxBase
B. has a generic argument or return value of type T or R in TestTxBase
C. implemented in TestTxBean

Then the transaction attribute is lost. But in the following cases it is
not lost:

- !A,B,C
declared in TestTx, has a generic arg, implemented in TestTxBean
(in the test, the neverDerived* methods)
- A,!B,C
declared in TestTxBase, has no generic arg, implemented in TestTxBean
(in the test, neverNongeneric(), neverNoReturnOrArg())
- A,B,!C
declared in TestTxBase, has a generic arg, implemented in
TestTxBaseBean
(in the test, neverInBase())

In the backtrace we were looking at earlier, the jboss AOP stuff had the
wrong interceptor in the proxy (had the one for REQUIRES instead of the
one for NEVER). So in the specific complicated case here, somehow jboss
AOP gets the wrong idea.

Havoc

log.txt
TestTxBean.java
TestTx.java
TestTxBase.java
TestTxBaseBean.java

Havoc Pennington

unread,
Nov 11, 2006, 4:09:14 PM11/11/06
to mug...@googlegroups.com
Posted a JIRA issue here after messing with AOP a bit:
http://jira.jboss.com/jira/browse/JBAOP-305

Havoc

Reply all
Reply to author
Forward
0 new messages