Skip to content

Commit 07a22c7

Browse files
committed
增加spring 支持
1 parent b7f9c69 commit 07a22c7

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

job-core/src/main/java/com/lts/job/core/support/SingletonBeanContext.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,22 @@
99

1010
/**
1111
* @author Robert HG (254963746@qq.com) on 8/18/14.
12-
* Bean 单利 context
12+
* Bean 单利 context
1313
*/
1414
public class SingletonBeanContext {
1515

1616
private static final Logger LOGGER = LoggerFactory.getLogger(SingletonBeanContext.class);
1717
// 用于存放bean的map
1818
private static final ConcurrentHashMap<Class, Object> beanMap = new ConcurrentHashMap<Class, Object>();
1919
// 同一个时间只能有一个线程在创建bean
20-
private static Lock lock = new ReentrantLock();
20+
private static Object lock = new Object();
2121

2222
public static <T> T getBean(Class clazz) {
2323
Object bean = beanMap.get(clazz);
2424
if (bean == null) {
25-
lock.lock();
26-
try {
25+
synchronized (lock) {
2726
if (bean != null) {
28-
return (T)bean;
27+
return (T) bean;
2928
}
3029
try {
3130
bean = clazz.newInstance();
@@ -35,8 +34,6 @@ public static <T> T getBean(Class clazz) {
3534
} catch (IllegalAccessException e) {
3635
LOGGER.error(e.getMessage(), e);
3736
}
38-
} finally {
39-
lock.unlock();
4037
}
4138
}
4239
return (T) bean;

0 commit comments

Comments
 (0)