[jboss-cvs] JBossAS SVN: r110382 - in projects/ejb3/trunk/core: src/main/java/org/jboss/ejb3 and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Jan 16 14:02:13 EST 2011
Author: smarlow at redhat.com
Date: 2011-01-16 14:02:12 -0500 (Sun, 16 Jan 2011)
New Revision: 110382
Modified:
projects/ejb3/trunk/core/pom.xml
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java
Log:
EJBTHREE-2232 JPA upgrade and use Switchboard PCRP
Modified: projects/ejb3/trunk/core/pom.xml
===================================================================
--- projects/ejb3/trunk/core/pom.xml 2011-01-15 01:36:38 UTC (rev 110381)
+++ projects/ejb3/trunk/core/pom.xml 2011-01-16 19:02:12 UTC (rev 110382)
@@ -753,7 +753,7 @@
<dependency>
<groupId>org.jboss.jpa</groupId>
<artifactId>jboss-jpa-deployers</artifactId>
- <version>1.0.2-alpha-1</version>
+ <version>3.0.0-alpha-4</version>
<exclusions>
<exclusion>
<groupId>org.jboss</groupId>
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java 2011-01-15 01:36:38 UTC (rev 110381)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java 2011-01-16 19:02:12 UTC (rev 110382)
@@ -768,7 +768,7 @@
// handlers.add(new EJBHandler<Environment>());
handlers.add(new DependsHandler<Environment>());
handlers.add(new JndiInjectHandler<Environment>());
- handlers.add(new PersistenceContextHandler<Environment>());
+ //handlers.add(new PersistenceContextHandler<Environment>());
}
ClassLoader old = Thread.currentThread().getContextClassLoader();
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java 2011-01-15 01:36:38 UTC (rev 110381)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/EJB3XPCResolver.java 2011-01-16 19:02:12 UTC (rev 110382)
@@ -21,12 +21,15 @@
*/
package org.jboss.ejb3.stateful;
-import java.util.List;
-
import javax.persistence.EntityManager;
+import org.jboss.jpa.deployment.ManagedEntityManagerFactory;
+import org.jboss.jpa.deployment.PersistenceUnitDeployment;
+import org.jboss.jpa.spi.PersistenceUnitRegistry;
import org.jboss.jpa.spi.XPCResolver;
+import java.util.List;
+
/**
* EJB 3 Stateful beans are the only XPC aware components at the moment.
*
@@ -41,17 +44,38 @@
public EntityManager getExtendedPersistenceContext(String kernelName)
{
StatefulBeanContext beanContext = StatefulBeanContext.currentBean.get();
-
- EntityManager em;
+
if (beanContext != null)
{
- List<StatefulBeanContext> beanContexts = StatefulBeanContext.currentBean.getList();
+ /**
+ * Look for XPC in current bean set.
+ * Create the XPC (EM) if not found (and save in bean context for next lookup).
+ * Propagate created XPC as required (7.6.2.1 Inheritance of Extended Persistence Context
+ */
+ EntityManager em = null;
+ List <StatefulBeanContext> beanContexts = StatefulBeanContext.currentBean.getList();
for( StatefulBeanContext bc : beanContexts)
{
em = bc.getExtendedPersistenceContext(kernelName);
if (em != null)
return em;
}
+
+ ManagedEntityManagerFactory factory=
+ ((PersistenceUnitDeployment) PersistenceUnitRegistry.getPersistenceUnit(kernelName)).getManagedFactory();
+ if (factory != null)
+ {
+ em = factory.createEntityManager();
+ if (em != null)
+ {
+ for( StatefulBeanContext bc : beanContexts)
+ {
+ bc.addExtendedPersistenceContext(kernelName, em);
+ }
+ }
+ }
+
+ return em;
}
return null;
}
More information about the jboss-cvs-commits
mailing list