new Thread(new Runnable() {
@Override
public void run() {
// spring无法处理thread的事务,声明式事务无效
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
PlatformTransactionManager txManager = ContextLoader.getCurrentWebApplicationContext().getBean(PlatformTransactionManager.class);
TransactionStatus status = txManager.getTransaction(def);
try {
processEachPlan(learn);
txManager.commit(status); // 提交事务
} catch (Exception e) {
Logger.info("异常信息:" + e.toString());
txManager.rollback(status); // 回滚事务
}
}
}).start();