File tree Expand file tree Collapse file tree 1 file changed +4
-7
lines changed
job-core/src/main/java/com/lts/job/core/support Expand file tree Collapse file tree 1 file changed +4
-7
lines changed Original file line number Diff line number Diff line change 99
1010/**
1111 * @author Robert HG (254963746@qq.com) on 8/18/14.
12- * Bean 单利 context
12+ * Bean 单利 context
1313 */
1414public 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 ;
You can’t perform that action at this time.
0 commit comments