📄 hibernatesessionjmttx.java
字号:
package org.jbpm.persistence.hibernate;
import org.apache.commons.logging.*;
import org.jbpm.*;
import org.jbpm.persistence.*;
import net.sf.hibernate.*;
public class HibernateSessionJmtTx extends HibernateSession implements PersistenceSessionTx {
private Transaction transaction = null;
public HibernateSessionJmtTx(Session session) {
super(session);
try {
log.debug( "starting jbpm managed transaction..." );
transaction = session.beginTransaction();
} catch (HibernateException e) {
e.printStackTrace();
throw new PersistenceException("couldn't begin a jbpm managed transaction", e);
}
}
public HibernateSessionJmtTx(SessionFactory sessionFactory) {
super(sessionFactory);
try {
log.debug( "starting jbpm managed transaction..." );
transaction = session.beginTransaction();
} catch (HibernateException e) {
e.printStackTrace();
throw new PersistenceException("couldn't begin a jbpm managed transaction", e);
}
}
public void commitAndClose() {
log.debug( "committing jbpm managed transaction" );
String errorMessage = "";
// HIBERNATE SESSION FLUSH
try {
if (session!=null) session.flush();
} catch (HibernateException e) {
e.printStackTrace();
errorMessage += "couldn't flush hibernate session (" + e.getMessage() + ") ";
}
// HIBERNATE TRANSACTION COMMIT
try {
if (transaction!=null) transaction.commit();
} catch (HibernateException e) {
e.printStackTrace();
errorMessage += "couldn't commit transaction (" + e.getMessage() + ") ";
}
transaction = null;
// HIBERNATE SESSION CLOSE
try {
if (session!=null) session.close();
} catch (HibernateException e) {
e.printStackTrace();
errorMessage += "couldn't close session (" + e.getMessage() + ") ";
}
session = null;
if ( ! "".equals( errorMessage ) ) {
throw new PersistenceException( "couldn't commit jbpm managed transaction : " + errorMessage );
}
}
public void rollbackAndClose() {
log.debug( "rolling back jbpm managed transaction" );
String errorMessage = "";
// HIBERNATE TRANSACTION COMMIT
try {
if (transaction!=null) transaction.rollback();
} catch (HibernateException e) {
e.printStackTrace();
errorMessage += "couldn't rollback (" + e.getMessage() + ") ";
}
transaction = null;
// HIBERNATE SESSION CLOSE
try {
if (session!=null) session.close();
} catch (HibernateException e) {
e.printStackTrace();
errorMessage += "couldn't close session (" + e.getMessage() + ") ";
}
session = null;
if ( ! "".equals( errorMessage ) ) {
throw new PersistenceException( "couldn't rollback jbpm managed transaction : " + errorMessage );
}
}
private static Log log = LogFactory.getLog(HibernateSessionJmtTx.class);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -