码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-07-31 14:48:18      阅读:1442      评论:0      收藏:0      [点我收藏+]

标签:spring

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

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

标签:spring

原文地址:http://13175304.blog.51cto.com/13165304/1952201

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!