Spring声明式事务无法管理new Thread线程解决方案

时间:2017-07-31 14:48:18   收藏:0   阅读:1442
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();


本文出自 “13165304” 博客,请务必保留此出处http://13175304.blog.51cto.com/13165304/1952201

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!