Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
02374d74
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
02374d74
编写于
7月 26, 2016
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TransactionAspectSupport avoids hard references to transaction manager beans
Issue: SPR-14511
上级
b9ab8957
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
11 deletion
+9
-11
spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java
...ork/transaction/interceptor/TransactionAspectSupport.java
+9
-11
未找到文件。
spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java
浏览文件 @
02374d74
...
...
@@ -18,7 +18,6 @@ package org.springframework.transaction.interceptor;
import
java.lang.reflect.Method
;
import
java.util.Properties
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
import
org.apache.commons.logging.Log
;
...
...
@@ -35,6 +34,7 @@ import org.springframework.transaction.TransactionStatus;
import
org.springframework.transaction.TransactionSystemException
;
import
org.springframework.transaction.support.CallbackPreferringPlatformTransactionManager
;
import
org.springframework.transaction.support.TransactionCallback
;
import
org.springframework.util.ConcurrentReferenceHashMap
;
import
org.springframework.util.StringUtils
;
/**
...
...
@@ -68,13 +68,14 @@ import org.springframework.util.StringUtils;
*/
public
abstract
class
TransactionAspectSupport
implements
BeanFactoryAware
,
InitializingBean
{
// NOTE: This class must not implement Serializable because it serves as base
// class for AspectJ aspects (which are not allowed to implement Serializable)!
/**
* Key to use to store the default transaction manager.
*/
private
final
Object
DEFAULT_TRANSACTION_MANAGER_KEY
=
new
Object
();
// NOTE: This class must not implement Serializable because it serves as base
// class for AspectJ aspects (which are not allowed to implement Serializable)!
private
static
final
Object
DEFAULT_TRANSACTION_MANAGER_KEY
=
new
Object
();
/**
* Holder to support the {@code currentTransactionStatus()} method,
...
...
@@ -86,9 +87,6 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init
new
NamedThreadLocal
<>(
"Current aspect-driven transaction"
);
private
final
ConcurrentMap
<
Object
,
PlatformTransactionManager
>
transactionManagerCache
=
new
ConcurrentHashMap
<>();
/**
* Subclasses can use this to return the current TransactionInfo.
* Only subclasses that cannot handle all operations in one method,
...
...
@@ -128,15 +126,15 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init
protected
final
Log
logger
=
LogFactory
.
getLog
(
getClass
());
/**
* Default transaction manager bean name.
*/
private
String
transactionManagerBeanName
;
private
TransactionAttributeSource
transactionAttributeSource
;
private
BeanFactory
beanFactory
;
private
final
ConcurrentMap
<
Object
,
PlatformTransactionManager
>
transactionManagerCache
=
new
ConcurrentReferenceHashMap
<>(
4
);
/**
* Specify the name of the default transaction manager bean.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录