You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by st...@apache.org on 2015/05/26 00:47:19 UTC

[1/2] tomee git commit: TOMEE-1572 use new OWB EE-plugin method to register JavaEE beans

Repository: tomee
Updated Branches:
  refs/heads/master 9cdde1dcf -> cdb04c3b9


TOMEE-1572 use new OWB EE-plugin method to register JavaEE beans

no more bloody string reflection stuff in OWB anymore...


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/80ec9801
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/80ec9801
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/80ec9801

Branch: refs/heads/master
Commit: 80ec9801c5ef08fa6e40a5a4ba655720a8cf72ce
Parents: 9cdde1d
Author: Mark Struberg <st...@apache.org>
Authored: Tue May 26 00:40:18 2015 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Tue May 26 00:40:18 2015 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/openejb/cdi/CdiPlugin.java     | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/80ec9801/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
index 429f7ac..440e25b 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
@@ -119,6 +119,15 @@ public class CdiPlugin extends AbstractOwbPlugin implements OpenWebBeansJavaEEPl
                 || JspTag.class.isAssignableFrom(impl);
     }
 
+    @Override
+    public void registerEEBeans()
+    {
+        BeanManagerImpl beanManagerImpl = webBeansContext.getBeanManagerImpl();
+        beanManagerImpl.addInternalBean(new org.apache.webbeans.ee.beans.ValidatorBean(webBeansContext));
+        beanManagerImpl.addInternalBean(new org.apache.webbeans.ee.beans.ValidatorFactoryBean(webBeansContext));
+        beanManagerImpl.addInternalBean(new org.apache.webbeans.ee.beans.UserTransactionBean(webBeansContext));
+    }
+
     public void setClassLoader(final ClassLoader classLoader) {
         this.classLoader = classLoader;
     }


[2/2] tomee git commit: TOMEE-1572 use cache for request and session scoped beans if enabled

Posted by st...@apache.org.
TOMEE-1572 use cache for request and session scoped beans if enabled


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/cdb04c3b
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/cdb04c3b
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/cdb04c3b

Branch: refs/heads/master
Commit: cdb04c3b9282d221dbea4a6ad3d3bdc00f939c05
Parents: 80ec980
Author: Mark Struberg <st...@apache.org>
Authored: Tue May 26 00:45:20 2015 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Tue May 26 00:45:20 2015 +0200

----------------------------------------------------------------------
 .../openejb/cdi/ThreadSingletonServiceImpl.java    | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/cdb04c3b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
index e627adf..b662e1c 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
@@ -33,6 +33,7 @@ import org.apache.webbeans.container.BeanManagerImpl;
 import org.apache.webbeans.corespi.se.DefaultApplicationBoundaryService;
 import org.apache.webbeans.intercept.ApplicationScopedBeanInterceptorHandler;
 import org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler;
+import org.apache.webbeans.intercept.SessionScopedBeanInterceptorHandler;
 import org.apache.webbeans.spi.ApplicationBoundaryService;
 import org.apache.webbeans.spi.BeanArchiveService;
 import org.apache.webbeans.spi.ContainerLifecycle;
@@ -45,7 +46,7 @@ import org.apache.webbeans.spi.ScannerService;
 import org.apache.webbeans.spi.SecurityService;
 import org.apache.webbeans.spi.TransactionService;
 import org.apache.webbeans.spi.adaptor.ELAdaptor;
-import org.apache.webbeans.web.intercept.RequestScopedBeanInterceptorHandler;
+import org.apache.webbeans.intercept.RequestScopedBeanInterceptorHandler;
 
 import java.util.Collections;
 import java.util.Comparator;
@@ -67,6 +68,7 @@ public class ThreadSingletonServiceImpl implements ThreadSingletonService {
     private Object lazyInit;
     private volatile boolean cachedApplicationScoped;
     private volatile boolean cachedRequestScoped;
+    private volatile boolean cachedSessionScoped;
 
     //this needs to be static because OWB won't tell us what the existing SingletonService is and you can't set it twice.
     private static final ThreadLocal<WebBeansContext> contexts = new ThreadLocal<WebBeansContext>();
@@ -80,6 +82,7 @@ public class ThreadSingletonServiceImpl implements ThreadSingletonService {
                     lazyInit = new Object();
                     cachedApplicationScoped = "true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.cdi.applicationScope.cached", "true").trim());
                     cachedRequestScoped = "true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.cdi.requestScope.cached", "true").trim());
+                    cachedSessionScoped = "true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.cdi.sessionScope.cached", "true").trim());
                 }
             }
         }
@@ -107,12 +110,12 @@ public class ThreadSingletonServiceImpl implements ThreadSingletonService {
         properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.ApplicationScoped",
                 cachedApplicationScoped ? ApplicationScopedBeanInterceptorHandler.class.getName() : defaultNormalScopeHandlerClass);
 
-        if (tomee && cachedRequestScoped) {
-            properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped", RequestScopedBeanInterceptorHandler.class.getName());
-        } else {
-            properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped", defaultNormalScopeHandlerClass);
-        }
-        
+        properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.RequestScoped",
+            tomee && cachedRequestScoped ? RequestScopedBeanInterceptorHandler.class.getName() : defaultNormalScopeHandlerClass);
+
+        properties.setProperty("org.apache.webbeans.proxy.mapping.javax.enterprise.context.SessionScoped",
+            tomee && cachedSessionScoped ? SessionScopedBeanInterceptorHandler.class.getName() : defaultNormalScopeHandlerClass);
+
         properties.put(OpenWebBeansConfiguration.PRODUCER_INTERCEPTION_SUPPORT, SystemInstance.get().getProperty("openejb.cdi.producer.interception", "true"));
 
         properties.putAll(appContext.getProperties());