Class OpenEntityManagerInViewListener

java.lang.Object
org.zkoss.zkplus.jpa.OpenEntityManagerInViewListener
All Implemented Interfaces:
org.zkoss.zk.ui.util.ExecutionCleanup, org.zkoss.zk.ui.util.ExecutionInit

public class OpenEntityManagerInViewListener extends Object implements org.zkoss.zk.ui.util.ExecutionCleanup, org.zkoss.zk.ui.util.ExecutionInit
Listener to init and cleanup the JPA entityManager automatically

In WEB-INF/zk.xml, add following lines:


        <listener>
                <description>Hibernate "OpenEntityManagerInView" Listener</description>
                <listener-class>org.zkoss.zkplus.jpa.OpenEntityManagerInViewListener</listener-class>
        </listener>
 

Applicable to EJB version 3.2.ga or later

Since:
3.0.2
Author:
Jeff
  • Constructor Details

    • OpenEntityManagerInViewListener

      public OpenEntityManagerInViewListener()
  • Method Details

    • cleanup

      public void cleanup(org.zkoss.zk.ui.Execution exec, org.zkoss.zk.ui.Execution parent, List errs) throws Exception
      Specified by:
      cleanup in interface org.zkoss.zk.ui.util.ExecutionCleanup
      Throws:
      Exception
    • init

      public void init(org.zkoss.zk.ui.Execution exec, org.zkoss.zk.ui.Execution parent) throws Exception
      Specified by:
      init in interface org.zkoss.zk.ui.util.ExecutionInit
      Throws:
      Exception
    • handleException

      protected void handleException(org.zkoss.zk.ui.Execution exec, Throwable ex)

      Default exception handler. This implementation simply rollback the transaction.

      Application developer might want to extends this class and override this method to do other things like compensate for any permanent changes during the conversation, and finally restart business conversation... what can be done here depends on the applications design.

      Parameters:
      exec - the execution to clean up.
      ex - the Throwable which is not handled during the execution