hibernatesessioncmttx.java

来自「一个java工作流引擎」· Java 代码 · 共 46 行

JAVA
46
字号
package org.jbpm.ejb.impl;

import javax.ejb.*;
import org.apache.commons.logging.*;
import org.jbpm.*;
import org.jbpm.persistence.*;
import org.jbpm.persistence.hibernate.*;
import net.sf.hibernate.*;

public class HibernateSessionCmtTx extends HibernateSessionJmtTx implements PersistenceSessionTx {

  private SessionContext ejbSessionContext = null;

  public HibernateSessionCmtTx(Session session) {
    super(session);
  }

  public void commitAndClose() {
    try {
      log.debug( "jbpm flushes SQL and allows container to commit" );
      session.flush();
      session.close();
      session = null;
    } catch (HibernateException e) {
      session = null;
      throw new PersistenceException( "jbpm couldn't commit a container managed transaction properly", e );
    }
  }
  
  public void rollbackAndClose() {
    log.debug( "rolling back transaction" );

    try {
      log.debug( "jbpm closes session that will be rolled back by the container" );
      session.close();
      session = null;
    } catch (HibernateException e) {
      session = null;
      throw new PersistenceException( "jbpm couldn't rollback a container managed transaction properly", e );
    }
  }

  private static Log log = LogFactory.getLog(HibernateSessionCmtTx.class);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?