You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2006/11/15 07:19:17 UTC

svn commit: r475134 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java

Author: dblevins
Date: Tue Nov 14 22:19:16 2006
New Revision: 475134

URL: http://svn.apache.org/viewvc?view=rev&rev=475134
Log:
Loader should call deployer.deploy on the ejbs in the ear.  jndi request handler should passback the values which are serializable and not proxies

Modified:
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java
    incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java?view=diff&rev=475134&r1=475133&r2=475134
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/DeploymentLoader.java Tue Nov 14 22:19:16 2006
@@ -335,6 +335,9 @@
                                 }
 
                                 EjbModule ejbModule = new EjbModule(appClassLoader, ejbFile.getAbsolutePath(), ejbJar, openejbJar);
+
+                                ejbModule = deployer.deploy(ejbModule);
+
                                 appModule.getEjbModules().add(ejbModule);
                             } catch (OpenEJBException e) {
                                 logger.error("Unable to load EJBs from EAR: " + jarFile.getAbsolutePath() + ", module: " + moduleName + ". Exception: " + e.getMessage(), e);

Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java?view=diff&rev=475134&r1=475133&r2=475134
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java Tue Nov 14 22:19:16 2006
@@ -93,9 +93,19 @@
         BaseEjbProxyHandler handler = null;
         try {
             handler = (BaseEjbProxyHandler) ProxyManager.getInvocationHandler(object);
-        } catch (ClassCastException e) {
-            res.setResponseCode(JNDI_NAMING_EXCEPTION);
-            res.setResult(new NamingException("Expected an ejb proxy, found unknown object: type="+object.getClass().getName() + ", toString="+object));
+        } catch (Exception e) {
+            // Not a proxy.  See if it's serializable and send it
+            if (object instanceof java.io.Serializable){
+                res.setResponseCode(JNDI_OK);
+                res.setResult(object);
+                res.writeExternal(out);
+                return;
+            } else {
+                res.setResponseCode(JNDI_NAMING_EXCEPTION);
+                res.setResult(new NamingException("Expected an ejb proxy, found unknown object: type="+object.getClass().getName() + ", toString="+object));
+                res.writeExternal(out);
+                return;
+            }
         }
 
         ProxyInfo proxyInfo = handler.getProxyInfo();