User: oberg
Date: 00/12/07 07:44:50
Modified: src/main/org/jboss/ejb/plugins/jrmp13/server
JRMPContainerInvoker.java
Log:
Changed configuration scheme (lots of changes to jboss.conf, jboss.jcml,
org.jboss.Main)
Added ServiceControl
Changed jBoss -> JBoss
Changed GPL -> LGPL
Added jaxp/parser
Updated services to have default constructors
Revision Changes Path
1.8 +177 -22
jboss/src/main/org/jboss/ejb/plugins/jrmp13/server/JRMPContainerInvoker.java
Index: JRMPContainerInvoker.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp13/server/JRMPContainerInvoker.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JRMPContainerInvoker.java 2000/08/25 02:18:58 1.7
+++ JRMPContainerInvoker.java 2000/12/07 15:44:49 1.8
@@ -1,7 +1,7 @@
/*
- * jBoss, the OpenSource EJB server
+ * JBoss, the OpenSource EJB server
*
- * Distributable under GPL license.
+ * Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.ejb.plugins.jrmp13.server;
@@ -16,51 +16,204 @@
import javax.ejb.EJBHome;
import javax.ejb.EJBObject;
+import org.jboss.ejb.Container;
+import org.jboss.ejb.ContainerInvoker;
import org.jboss.ejb.ContainerInvokerContainer;
import org.jboss.ejb.EntityInstanceCache;
+import org.jboss.metadata.EntityMetaData;
+import org.jboss.metadata.SessionMetaData;
+
import org.jboss.ejb.plugins.jrmp13.interfaces.HomeProxy;
import org.jboss.ejb.plugins.jrmp13.interfaces.StatelessSessionProxy;
import org.jboss.ejb.plugins.jrmp13.interfaces.StatefulSessionProxy;
import org.jboss.ejb.plugins.jrmp13.interfaces.EntityProxy;
import org.jboss.logging.Logger;
+/**
+ * <description>
+ *
+ * @see <related>
+ * @author Rickard �berg ([EMAIL PROTECTED])
+ * @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
+ * @version $Revision: 1.8 $
+ */
+public final class JRMPContainerInvoker
+ implements ContainerInvoker
+{
+ EJBHome home;
+ EJBObject statelessObject;
+
+ Container container;
+ org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker ci; // Parent invoker
+
+ public
JRMPContainerInvoker(org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker ci)
+ {
+ this.ci = ci;
+ }
+
+ public void setContainer(Container con)
+ {
+ this.container = con;
+ }
+
+ public void init()
+ {
+ // Create EJBHome object
+ // We add the Handle methods to the Home
+ Class handleClass;
+ try
+ {
+ handleClass = Class.forName("javax.ejb.Handle");
+ } catch (Exception e)
+ {
+ Logger.exception(e);handleClass = null;
+ }
+
+ this.home =
(EJBHome)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getHomeClass().getClassLoader(),
+ new Class[] { ((ContainerInvokerContainer)container).getHomeClass(),
handleClass },
+ new HomeProxy(ci.getJndiName(), ci.getEJBMetaData(), ci,
ci.isOptimized()));
+
+ // Create stateless session object
+ // Same instance is used for all objects
+ if (!(container.getBeanMetaData() instanceof EntityMetaData) &&
+ ((SessionMetaData)container.getBeanMetaData()).isStateless())
+ {
+ this.statelessObject =
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
+ new Class[] { ((ContainerInvokerContainer)container).getRemoteClass() }
,
+ new StatelessSessionProxy(ci.getJndiName(), ci, ci.isOptimized()));
+ }
+
+ System.out.println("JRMP 1.2.2 CI initialized");
+ }
+
+ public void start()
+ {
+ }
+
+ public void stop()
+ {
+ }
+
+ public void destroy()
+ {
+ }
+
+ public EJBMetaData getEJBMetaData()
+ {
+ // Ignore, never called
+ return null;
+ }
+
+ public EJBHome getEJBHome()
+ {
+ return home;
+ }
+
+ public EJBObject getStatelessSessionEJBObject()
+ {
+ return statelessObject;
+ }
+
+ public EJBObject getStatefulSessionEJBObject(Object id)
+ {
+ return
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
+ new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
+ new StatefulSessionProxy(ci.getJndiName(), ci, id,
ci.isOptimized()));
+ }
+ public EJBObject getEntityEJBObject(Object id)
+ {
+ return
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
+ new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
+ new EntityProxy(ci.getJndiName(), ci, id, ci.isOptimized()));
+ }
+
+ public Collection getEntityCollection(Collection ids)
+ {
+ ArrayList list = new ArrayList(ids.size());
+ Iterator idEnum = ids.iterator();
+ while(idEnum.hasNext())
+ {
+
list.add(Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
+ new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
+ new EntityProxy(ci.getJndiName(), ci, idEnum.next(),
ci.isOptimized())));
+ }
+ return list;
+ }
+}
+
+
/**
* <description>
*
* @see <related>
* @author Rickard �berg ([EMAIL PROTECTED])
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
+
+ /*
public final class JRMPContainerInvoker
- extends org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker
+ implements ContainerInvoker
{
+ EJBHome home;
+ EJBObject statelessObject;
+
+ public void init()
+ {
+ // Create EJBHome object
+ // We add the Handle methods to the Home
+ Class handleClass;
+ try
+ {
+ handleClass = Class.forName("javax.ejb.Handle");
+ } catch (Exception e)
+ {
+ Logger.exception(e);handleClass = null;
+ }
+
+ this.home =
(EJBHome)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getHomeClass().getClassLoader(),
+ new Class[] { ((ContainerInvokerContainer)container).getHomeClass(),
handleClass },
+ new HomeProxy(jndiName,ejbMetaData, this, optimize));
+
+ // Create stateless session object
+ // Same instance is used for all objects
+ if (!(container.getBeanMetaData() instanceof EntityMetaData) &&
+ ((SessionMetaData)container.getBeanMetaData()).isStateless())
+ {
+ this.statelessObject =
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
+ new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
+ new StatelessSessionProxy(jndiName, this, optimize));
+ }
+
+ System.out.println("JRMP 1.2.2 CI initialized");
+ }
+
+ public void start()
+ {
+ }
+
+ public void stop()
+ {
+ }
+
+ public void destroy()
+ {
+ }
+
+ public EJBMetaData getEJBMetaData()
+ {
+ // Ignore, never called
+ return null;
+ }
+
public EJBHome getEJBHome()
{
- if (home == null)
- {
- // We add the Handle methods to the Home
- Class handleClass;
- try { handleClass = Class.forName("javax.ejb.Handle");}
- catch (Exception e) {Logger.exception(e);handleClass = null;}
-
- this.home =
(EJBHome)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getHomeClass().getClassLoader(),
- new Class[] {
((ContainerInvokerContainer)container).getHomeClass(), handleClass },
- new HomeProxy(jndiName,ejbMetaData, this, optimize));
- }
return home;
}
public EJBObject getStatelessSessionEJBObject()
{
- if (statelessObject == null) {
-
- this.statelessObject =
(EJBObject)Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
- new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
- new StatelessSessionProxy(jndiName, this, optimize));
- }
-
return statelessObject;
}
@@ -91,3 +244,5 @@
return list;
}
}
+
+*/
\ No newline at end of file