All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.blade.jdbc.DBJob Maven / Gradle / Ivy

package com.blade.jdbc;

import org.sql2o.Connection;
import org.sql2o.Sql2oException;

import com.blade.jdbc.exception.CallException;

public abstract class DBJob {
	
	protected Connection connection;
	
	public abstract T execute();
	
	public T call(){
		return call(false);
	}
	
	public synchronized T call(boolean dml){
		try {
			connection = DB.sql2o.beginTransaction();
			T t = execute();
			if(dml){
				connection.commit();
			}
			return t;
		} catch (Sql2oException e) {
			if(dml){
				connection.rollback();
			}
			throw new CallException(e.getMessage());
		}  catch (Exception e) {
			if(dml){
				connection.rollback();
			}
			throw new CallException(e);
		} finally {
			if(null != connection){
				connection.close();
			}
		}
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy