[jboss-user] [JBoss Seam] - Conversation times out, entity manager persists??

whafrog do-not-reply at jboss.com
Fri Dec 7 19:03:23 EST 2007


I have successfully avoided having the entity manager persist entity changes when the user quits a conversation on purpose, by coding as follows:

	@End
  | 	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
  | 	public String quit()
  | 	{
  | 		logger.debug("Quitting without saving");
  | 		entityManager.clear();
  | 		return PAGE_MAIN;
  | 	}
  | 

However, when the conversation times out, the entity manager is flushed anyway.  So I added the following to the starting method:

	@Begin(join=true, flushMode=FlushModeType.MANUAL)
  | 	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
  | 	public String startProcess()...
  | 

With flushMode set to true, in the method where I actually want persistence, I make sure to make a call to entityManager.flush();

Except any entity changes that are abandoned are still persisted after the conversation times out.  What more must I do to keep the over zealous entity manager from persisting?  And, larger question, why is this the default behavior?!


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4111344#4111344

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4111344



More information about the jboss-user mailing list