You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by gp...@apache.org on 2011/04/01 15:39:13 UTC

svn commit: r1087705 - in /openwebbeans/trunk: webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/ webbeans-openejb/src/main/java/org/apache/webbeans/ejb/resource/ webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/

Author: gpetracek
Date: Fri Apr  1 13:39:13 2011
New Revision: 1087705

URL: http://svn.apache.org/viewvc?rev=1087705&view=rev
Log:
OWB-557 improved performance

Modified:
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java
    openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/resource/OpenEjbResourceInjectionService.java
    openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java?rev=1087705&r1=1087704&r2=1087705&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java Fri Apr  1 13:39:13 2011
@@ -118,23 +118,11 @@ public class EjbBeanProxyHandler impleme
                 logger.trace("Calling method on proxy is restricted except Object.toString(), but current method is Object. [{0}]", methodName);   
             }
             
-            boolean access = method.isAccessible();
-            if (!access)
+            if (!method.isAccessible())
             {
                 webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, true);
             }
-            try
-            {
-                return proceed.invoke(proxyInstance, arguments);
-                
-            }
-            finally
-            {
-                if (!access)
-                {
-                    webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, false);
-                }
-            }
+            return proceed.invoke(proxyInstance, arguments);
         }
                 
         try
@@ -196,24 +184,11 @@ public class EjbBeanProxyHandler impleme
 
             //Call actual method on proxy
             //Actually it is called from OWB Proxy --> EJB Proxy --> Actual Bean Instance
-            boolean access = method.isAccessible();
-            if (!access)
+            if (!method.isAccessible())
             {
                 webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, true);
             }
-            try
-            {
-                result = method.invoke(webbeansInstance, arguments);
-                
-            }
-            finally
-            {
-                if (!access)
-                {
-                    webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, false);
-                }
-            }            
-            
+            result = method.invoke(webbeansInstance, arguments);
         }
         finally
         {

Modified: openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/resource/OpenEjbResourceInjectionService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/resource/OpenEjbResourceInjectionService.java?rev=1087705&r1=1087704&r2=1087705&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/resource/OpenEjbResourceInjectionService.java (original)
+++ openwebbeans/trunk/webbeans-openejb/src/main/java/org/apache/webbeans/ejb/resource/OpenEjbResourceInjectionService.java Fri Apr  1 13:39:13 2011
@@ -95,10 +95,12 @@ public class OpenEjbResourceInjectionSer
                     {
                         @SuppressWarnings("unchecked")
                         ResourceReference<Object, ?> resourceRef = new ResourceReference(field.getDeclaringClass(), field.getName(), field.getType(), ann);
-                        boolean acess = field.isAccessible();
                         try
                         {
-                            webBeansContext.getSecurityService().doPrivilegedSetAccessible(field, true);
+                            if(!field.isAccessible())
+                            {
+                                webBeansContext.getSecurityService().doPrivilegedSetAccessible(field, true);
+                            }
                             field.set(managedBeanInstance, getResourceReference(resourceRef));
                             
                         }
@@ -108,12 +110,8 @@ public class OpenEjbResourceInjectionSer
                             throw new WebBeansException(MessageFormat.format(logger.getTokenString(OWBLogConst.ERROR_0025), field), e);
                             
                         }
-                        finally
-                        {
-                            webBeansContext.getSecurityService().doPrivilegedSetAccessible(field, acess);
-                        }                                            
                     }
-                }                
+                }
             }
         }
     }

Modified: openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java?rev=1087705&r1=1087704&r2=1087705&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java (original)
+++ openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java Fri Apr  1 13:39:13 2011
@@ -133,10 +133,12 @@ public class StandaloneResourceInjection
                         {
                             @SuppressWarnings("unchecked")
                             ResourceReference<Object, ?> resourceRef = new ResourceReference(field.getDeclaringClass(), field.getName(), field.getType(), ann);
-                            boolean acess = field.isAccessible();
                             try
                             {
-                                webBeansContext.getSecurityService().doPrivilegedSetAccessible(field, true);
+                                if(!field.isAccessible())
+                                {
+                                    webBeansContext.getSecurityService().doPrivilegedSetAccessible(field, true);
+                                }
                                 field.set(managedBeanInstance, getResourceReference(resourceRef));
 
                                 containsEeResource = Boolean.TRUE;
@@ -147,10 +149,6 @@ public class StandaloneResourceInjection
                                 throw new WebBeansException(MessageFormat.format(logger.getTokenString(OWBLogConst.ERROR_0025), field), e);
 
                             }
-                            finally
-                            {
-                                webBeansContext.getSecurityService().doPrivilegedSetAccessible(field, acess);
-                            }
                         }
                     }
                 }