Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

modification for chapter 6's persistenceContextCollision

 
Himai Minh
Ranch Hand
Posts: 1361
7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I modified this example:



Our expected result is collision:

javax.ejb.EJBException: There is an active transactional persistence context for the same EntityManagerFactory as the current stateful session bean's extended persistence context

 
Himai Minh
Ranch Hand
Posts: 1361
7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To make it work, let the stateful bean starts a new transaction instead of using the propagated transaction:


Reference:http://shengwangi.blogspot.com/2015/11/understand-persistence-context-collision.html
 
Himai Minh
Ranch Hand
Posts: 1361
7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The reason why I suggested this modification because  the original code demonstrated another concept , not pc collision.
The original code tells us that an stateful bean  with container managed transaction  cannot run in a UserTransaction.
The output error message is actually:
javax.ejb.EJBException: java.lang.IllegalStateException: Bean is associated with a different unfinished transaction


Original code as Audit bean is stateless with transaction scoped PC and Department manager bean as stateful with extended PC.






 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic