You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/04/21 19:08:20 UTC
svn commit: r936393 -
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
Author: gerdogdu
Date: Wed Apr 21 17:08:20 2010
New Revision: 936393
URL: http://svn.apache.org/viewvc?rev=936393&view=rev
Log:
Becasue no more instance fields in InterceptorHandler, we can safely cache proxy instances for normal scoped beans.
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=936393&r1=936392&r2=936393&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java Wed Apr 21 17:08:20 2010
@@ -114,6 +114,9 @@ public class BeanManagerImpl implements
/**Activity interceptors*/
private Set<Interceptor<?>> webBeansInterceptors = new CopyOnWriteArraySet<Interceptor<?>>();
+
+ /**Normal scoped cache proxies*/
+ private Map<Contextual<?>, Object> cacheProxies = new ConcurrentHashMap<Contextual<?>, Object>();
/**Activity decorators*/
private Set<Decorator<?>> webBeansDecorators = new CopyOnWriteArraySet<Decorator<?>>();
@@ -795,6 +798,12 @@ public class BeanManagerImpl implements
{
return instance;
}
+
+ if(this.cacheProxies.containsKey(bean))
+ {
+ return this.cacheProxies.get(bean);
+ }
+
//Create Managed Bean Proxy
instance = JavassistProxyFactory.createNormalScopedBeanProxy((AbstractOwbBean<?>)bean,creationalContext);