diff options
Diffstat (limited to 'tests/bugs164/pr260384/C.java')
-rw-r--r-- | tests/bugs164/pr260384/C.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/bugs164/pr260384/C.java b/tests/bugs164/pr260384/C.java new file mode 100644 index 000000000..64a6c8aa1 --- /dev/null +++ b/tests/bugs164/pr260384/C.java @@ -0,0 +1,50 @@ +public class C { + SessionFactory sf; + HT ht; + + public void m() { + LocalSessionFactoryBean lsfb = new LocalSessionFactoryBean() { + protected SessionFactory newSessionFactory(Configuration config) throws Exception { + return sf; + } + }; + final TT tt = new TT(); + tt.execute(new TransactionCallback() { + public Object doInTransaction(TransactionStatus status) { + System.out.println("X"); + ht.execute(new HibernateCallback() { + public Object doInHibernate(Session session) { + return null; + } + }); + tt.execute(new TransactionCallback() { + public Object doInTransaction(TransactionStatus status) { + System.out.println("X"); + ht.execute(new HibernateCallback() { + public Object doInHibernate(Session session) { + return null; + } + }); + return null; + } + }); + return null; + } + }); + } +} + +class TT { public void execute(Object o) {}} +class LocalSessionFactoryBean {} +class HT { public void execute(Object o) {}} +class Session {} +class TransactionStatus {} +class SessionFactory {} +class Configuration {} +class TransactionCallback {} +class HibernateCallback {} + + +aspect X { + before(): within(*) {} +} |