public abstract void commit();
public abstract void rollback();
}
private PlatformTransactionManager platformTransactionManager;
private DefaultTransactionDefinition transactionDefinition;
private ThreadLocalTransactionStatus> transcationStatus = new ThreadLocalTransactionStatus>();
public void beginTranstaion() {
TransactionStatus tmp = platformTransactionManager.getTransaction(transactionDefinition);
transcationStatus.set(tmp);
}
public void commit() {
TransactionStatus tmp = transcationStatus.get();
if (tmp == null) {
throw new RMSRuntimeException("no transcation");
}
platformTransactionManager.commit(tmp);
transcationStatus.remove();
}
public void rollback() {
TransactionStatus tmp = transcationStatus.get();
if (tmp == null) {
throw new RMSRuntimeException("no transcation");
}
platformTransactionManager.rollback(tmp);
transcationStatus.remove();
}
@Override
public void afterPropertiesSet() {
super.afterPropertiesSet();
transactionDefinition = new DefaultTransactionDefinition();
transactionDefinition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);
transactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
platformTransactionManager = new DataSourceTransactionManager(getDataSource());
}
public PlatformTransactionManager getPlatformTransactionManager() {
return platformTransactionManager;
}
public DefaultTransactionDefinition getTransactionDefinition() {
return transactionDefinition;
}
public ThreadLocalTransactionStatus> getTranscationStatus() {
return transcationStatus;
}
}
標(biāo)簽:西藏 云浮 江西 紅河 丹東 青島 貴州 宿州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《spring實(shí)現(xiàn)jdbctemplate添加事務(wù)支持示例》,本文關(guān)鍵詞 spring,實(shí)現(xiàn),jdbctemplate,添加,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。