[jboss-cvs] JBossAS SVN: r68237 - trunk/ejb3/src/main/org/jboss/ejb3/stateful.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 13 10:43:10 EST 2007


Author: wolfc
Date: 2007-12-13 10:43:10 -0500 (Thu, 13 Dec 2007)
New Revision: 68237

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/stateful/BaseStatefulProxyFactory.java
   trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulLocalProxyFactory.java
Log:
EJBTHREE-1019: fixed NPE

Modified: trunk/ejb3/src/main/org/jboss/ejb3/stateful/BaseStatefulProxyFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/stateful/BaseStatefulProxyFactory.java	2007-12-13 14:33:11 UTC (rev 68236)
+++ trunk/ejb3/src/main/org/jboss/ejb3/stateful/BaseStatefulProxyFactory.java	2007-12-13 15:43:10 UTC (rev 68237)
@@ -21,6 +21,9 @@
  */
 package org.jboss.ejb3.stateful;
 
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
@@ -55,7 +58,10 @@
 
    public static final String PROXY_FACTORY_NAME = "StatefulProxyFactory";
    
-   public BaseStatefulProxyFactory()
+   /**
+    * Do not call, only for externalizable
+    */
+   protected BaseStatefulProxyFactory()
    {
       super();
    }
@@ -129,4 +135,27 @@
    protected abstract Class<?>[] getInterfaces();
 
    protected final void initializeJndiName() {};
+   
+   @Override
+   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
+   {
+      super.readExternal(in);
+      try
+      {
+         init();
+      }
+      catch(Exception e)
+      {
+         log.error(e.getMessage(), e);
+         throw new IOException(e.getMessage());
+      }
+      this.jndiName = in.readUTF();
+   }
+   
+   @Override
+   public void writeExternal(ObjectOutput out) throws IOException
+   {
+      super.writeExternal(out);
+      out.writeUTF(jndiName);
+   }
 }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulLocalProxyFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulLocalProxyFactory.java	2007-12-13 14:33:11 UTC (rev 68236)
+++ trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulLocalProxyFactory.java	2007-12-13 15:43:10 UTC (rev 68237)
@@ -52,6 +52,9 @@
 {
    private VMID vmid = Ejb3Registry.getVMID();
    
+   /**
+    * Do not call, only for externalizable
+    */
    public StatefulLocalProxyFactory()
    {
       super();
@@ -178,12 +181,14 @@
       return handle;
    }
    
+   @Override
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
    {
       super.readExternal(in);
       vmid = (VMID)in.readObject();
    }
 
+   @Override
    public void writeExternal(ObjectOutput out) throws IOException
    {
       super.writeExternal(out);




More information about the jboss-cvs-commits mailing list