User: oberg
Date: 00/12/07 07:44:48
Modified: src/main/org/jboss/ejb/plugins/jrmp12/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.10 +89 -38
jboss/src/main/org/jboss/ejb/plugins/jrmp12/server/JRMPContainerInvoker.java
Index: JRMPContainerInvoker.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/jrmp12/server/JRMPContainerInvoker.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- JRMPContainerInvoker.java 2000/08/25 02:20:02 1.9
+++ JRMPContainerInvoker.java 2000/12/07 15:44:47 1.10
@@ -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.jrmp12.server;
@@ -17,8 +17,12 @@
import org.jboss.proxy.InvocationHandler;
import org.jboss.proxy.Proxy;
+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.jrmp12.interfaces.HomeProxy;
import org.jboss.ejb.plugins.jrmp12.interfaces.StatelessSessionProxy;
@@ -33,51 +37,97 @@
* @see <related>
* @author Rickard �berg ([EMAIL PROTECTED])
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
*/
public final class JRMPContainerInvoker
- extends org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker
+ implements ContainerInvoker
{
- 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;
- }
-
+ 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(jndiName, this,
id, optimize));
+ 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(jndiName, this, id,
optimize));
+ new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
+ new EntityProxy(ci.getJndiName(), ci, id, ci.isOptimized()));
}
public Collection getEntityCollection(Collection ids)
@@ -87,9 +137,10 @@
while(idEnum.hasNext())
{
list.add(Proxy.newProxyInstance(((ContainerInvokerContainer)container).getRemoteClass().getClassLoader(),
- new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
- new EntityProxy(jndiName, this,
idEnum.next(), optimize)));
+ new Class[] {
((ContainerInvokerContainer)container).getRemoteClass() },
+ new EntityProxy(ci.getJndiName(), ci, idEnum.next(),
ci.isOptimized())));
}
return list;
}
}
+