Author: dblevins
Date: Thu Jan 26 19:35:28 2012
New Revision: 1236361

URL: http://svn.apache.org/viewvc?rev=1236361&view=rev
Log:
Make the EntityManager serializable
OPENEJB-1759

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java?rev=1236361&r1=1236360&r2=1236361&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/persistence/JtaEntityManager.java
 Thu Jan 26 19:35:28 2012
@@ -18,6 +18,7 @@ package org.apache.openejb.persistence;
 
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.core.ThreadContext;
+import org.apache.openejb.core.ivm.IntraVmArtifact;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 
@@ -32,6 +33,8 @@ import javax.persistence.TypedQuery;
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.metamodel.Metamodel;
+import java.io.ObjectStreamException;
+import java.io.Serializable;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
@@ -47,7 +50,7 @@ import java.util.concurrent.TimeUnit;
  * component is entered and removes them when exited.  If this registration is 
not preformed, an IllegalStateException will
  * be thrown when entity manger is accessed.
  */
-public class JtaEntityManager implements EntityManager {
+public class JtaEntityManager implements EntityManager, Serializable {
 
     private static final Logger baseLogger = 
Logger.getInstance(LogCategory.OPENEJB.createChild("persistence"), 
JtaEntityManager.class);
 
@@ -610,4 +613,9 @@ public class JtaEntityManager implements
             return new Timer(this, em);
         }
     }
+
+
+    protected Object writeReplace() throws ObjectStreamException {
+        return new IntraVmArtifact(this, true);
+    }
 }


Reply via email to