Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

interesting issue

 
rose deng
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
HI,
I have following method A in sessionbean A:
methodA()
{
try
{
methodB();
methodC();
}
catch(application exception)
{
sessioncontext.setRollbackOnly();
}
}
methodB() will call entityHome1 to instantiate entity bean1 and insert a record in table1; methodC() will call entityHOme2 to instantiate entity bean2 and insert a record in table2.
sessionbean and entitybean use container-managed transaction, and all method's transaction's attribute is required.
when methodC failed to insert record in table2, seems new inserted record in table1 rollback, because i use oralce sqlplus to inquiry, and no that record.
But the issue is when i use application to insert same record in table1, it always throw out duplicatekey exception. even i stop the test server and restart a couple of times, still the same. I'm wondering it's ejbobject cache??
I use wsad4.0 test server and oracleXADatasource.
So what do you think the possible reason behind such interesting issue.
Thanks!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic