* part of fix for bug [1628515], added option to expose SQLException of commit and rollback
This commit is contained in:
parent
12e410ded2
commit
fef8573358
|
|
@ -30,6 +30,8 @@ import java.util.logging.*;
|
||||||
* - close();
|
* - close();
|
||||||
*
|
*
|
||||||
* @author Jorg Janke
|
* @author Jorg Janke
|
||||||
|
* @author Low Heng Sin
|
||||||
|
* - added rollback(boolean) and commit(boolean) [20070105]
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
public class Trx implements VetoableChangeListener
|
public class Trx implements VetoableChangeListener
|
||||||
|
|
@ -220,9 +222,10 @@ public class Trx implements VetoableChangeListener
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rollback
|
* Rollback
|
||||||
* @return true if success
|
* @param throwException if true, re-throws exception
|
||||||
|
* @return true if success, false if failed or transaction already rollback
|
||||||
*/
|
*/
|
||||||
public boolean rollback()
|
public boolean rollback(boolean throwException) throws SQLException
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -241,11 +244,30 @@ public class Trx implements VetoableChangeListener
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
{
|
{
|
||||||
log.log(Level.SEVERE, m_trxName, e);
|
log.log(Level.SEVERE, m_trxName, e);
|
||||||
|
if (throwException)
|
||||||
|
{
|
||||||
|
m_savepoint = null;
|
||||||
|
m_active = false;
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_savepoint = null;
|
m_savepoint = null;
|
||||||
m_active = false;
|
m_active = false;
|
||||||
return false;
|
return false;
|
||||||
} // rollback
|
} // rollback
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rollback
|
||||||
|
* @return true if success, false if failed or transaction already rollback
|
||||||
|
*/
|
||||||
|
public boolean rollback()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return rollback(false);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Release savepoint
|
* Release savepoint
|
||||||
|
|
@ -274,9 +296,11 @@ public class Trx implements VetoableChangeListener
|
||||||
} // release
|
} // release
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Commit
|
* Commit
|
||||||
|
* @param throwException if true, re-throws exception
|
||||||
|
* @return true if success
|
||||||
**/
|
**/
|
||||||
public boolean commit()
|
public boolean commit(boolean throwException) throws SQLException
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -292,11 +316,34 @@ public class Trx implements VetoableChangeListener
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
{
|
{
|
||||||
log.log(Level.SEVERE, m_trxName, e);
|
log.log(Level.SEVERE, m_trxName, e);
|
||||||
|
if (throwException)
|
||||||
|
{
|
||||||
|
m_savepoint = null;
|
||||||
|
m_active = false;
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_savepoint = null;
|
m_savepoint = null;
|
||||||
m_active = false;
|
m_active = false;
|
||||||
return false;
|
return false;
|
||||||
} // commit
|
} // commit
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Commit
|
||||||
|
* @return true if success
|
||||||
|
*/
|
||||||
|
public boolean commit()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return commit(false);
|
||||||
|
}
|
||||||
|
catch(SQLException e)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* End Transaction and Close Connection
|
* End Transaction and Close Connection
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue