On Mar 22, 2009, at 10:24 AM, David Jencks wrote:
On Mar 22, 2009, at 3:27 AM, Ashish Jain wrote:
Hi All,
On startup of the server there are few message which are logged in
server.log
2009-03-22 15:20:15,718 INFO [startup] Assembling app: C:\.m2\org
\apache\geronimo\plugins\geronimo-mejb\2.1.4\geronimo-mejb-2.1.4.jar
2009-03-22 15:20:16,093 INFO [startup] Jndi(name=ejb/mgmt/MEJB) --
> Ejb(deployment-id=mejb/ejb/mgmt/MEJB)
2009-03-22 15:20:16,093 INFO [startup] Created Ejb(deployment-
id=mejb/ejb/mgmt/MEJB, ejb-name=ejb/mgmt/MEJB, container=Default
Stateless Container)
2009-03-22 15:20:16,109 INFO [startup] Deployed Application(path=C:
\.m2\org\apache\geronimo\plugins\geronimo-mejb\2.1.4\geronimo-
mejb-2.1.4.jar)
2009-03-22 15:20:17,218 INFO [KernelContextGBean] bound gbean
org.apache.geronimo.plugins/agent-ds/2.1.4/car?
J2EEApplication=null,JCAConnectionFactory=jdbc/
ActiveDS,JCAResource=org.apache.geronimo.plugins/agent-ds/2.1.4/
car,ResourceAdapter=org.apache.geronimo.plugins/agent-ds/2.1.4/
car,ResourceAdapterModule=org.apache.geronimo.plugins/agent-ds/
2.1.4/car,j2eeType=JCAManagedConnectionFactory,name=jdbc/ActiveDS
at name org.apache.geronimo.plugins/agent-ds/
JCAManagedConnectionFactory/jdbc/ActiveDS
2009-03-22 15:20:17,218 INFO [KernelContextGBean] bound gbean
org.apache.geronimo.plugins/agent-ds/2.1.4/car?
J2EEApplication=null,JCAConnectionFactory=jdbc/
ArchiveDS,JCAResource=org.apache.geronimo.plugins/agent-ds/2.1.4/
car,ResourceAdapter=org.apache.geronimo.plugins/agent-ds/2.1.4/
car,ResourceAdapterModule=org.apache.geronimo.plugins/agent-ds/
2.1.4/car,j2eeType=JCAManagedConnectionFactory,name=jdbc/ArchiveDS
at name org.apache.geronimo.plugins/agent-ds/
JCAManagedConnectionFactory/jdbc/ArchiveDS
2009-03-22 15:20:17,875 INFO [startup] Assembling app: C:\.m2\org
\apache\geronimo\plugins\monitoring\agent-ejb\2.1.4\agent-
ejb-2.1.4.jar
2009-03-22 15:20:17,921 INFO [startup] Jndi(name=ejb/mgmt/
MRCLocal) --> Ejb(deployment-id=agent/ejb/mgmt/MRC)
2009-03-22 15:20:17,921 INFO [startup] Jndi(name=ejb/mgmt/
MRCRemote) --> Ejb(deployment-id=agent/ejb/mgmt/MRC)
2009-03-22 15:20:17,953 INFO [startup] Created Ejb(deployment-
id=agent/ejb/mgmt/MRC, ejb-name=ejb/mgmt/MRC, container=Default
Stateless Container)
2009-03-22 15:20:17,953 INFO [startup] Deployed Application(path=C:
\.m2\org\apache\geronimo\plugins\monitoring\agent-ejb\2.1.4\agent-
ejb-2.1.4.jar)
Are these path virtual? What do they signify?
They indicate what jndi name the mentioned component is bound
under. Unfortunately they don't indicate the jndi namespace.
The datasources end up at
jca:/ org.apache.geronimo.plugins/agent-ds/
JCAManagedConnectionFactory/jdbc/ActiveDS
jca:/org.apache.geronimo.plugins/agent-ds/
JCAManagedConnectionFactory/jdbc/ArchiveDS
I'm not 100% sure where the ejbs are bound. I think there are some
problems there.
These are the JNDI names for EJBs that remote clients use.
In 2.1.4-snapshot they aren't visible in the console's jndi viewer.
I think that means they are bound in an openejb specific jndi
context. I would prefer that we arrange for them to be bound in
something federated into our xbean-naming tree.
In trunk (at least my copy) things seem even worse: I get an
exception like this opening the jndi viewer page:
2009-03-22 10:13:45,226 WARN [JNDIViewPortlet] Error listing context
org.apache.openejb.OpenEJBException: Error copying object into local
class loader: org.apache.openejb.core.ivm.IntraVmProxy in
classloader org.apache.geronimo.plugins/debugviews-console-jetty/2.2-
SNAPSHOT/car
at
org
.apache
.openejb.core.ivm.naming.NamingException.<init>(NamingException.java:
29)
at
org
.apache
.openejb
.core
.ivm
.naming
.CrossClassLoaderJndiReference
.getObject(CrossClassLoaderJndiReference.java:38)
at
org
.apache
.openejb
.assembler.classic.LazyEjbReference.getObject(LazyEjbReference.java:
91)
at
org
.apache.openejb.core.ivm.naming.Reference.getContent(Reference.java:
40)
at
org.apache.xbean.naming.context.ContextUtil.resolve(ContextUtil.java:
61)
at
org
.apache
.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:122)
at
org
.apache
.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:611)
at
org
.apache
.geronimo
.console
.jndiview.JNDIViewPortlet.buildContextSub(JNDIViewPortlet.java:351)
at
org
.apache
.geronimo
.console
.jndiview.JNDIViewPortlet.buildContextSub(JNDIViewPortlet.java:353)
<big snip>
Caused by: java.lang.ClassNotFoundException:
org.apache.openejb.core.ivm.IntraVmProxy in classloader
org.apache.geronimo.plugins/debugviews-console-jetty/2.2-SNAPSHOT/car
at
org
.apache
.geronimo
.kernel
.config
.MultiParentClassLoader
.loadOptimizedClass(MultiParentClassLoader.java:401)
at
org
.apache
.geronimo
.kernel
.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:
243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org
.apache
.openejb
.core
.ivm
.EjbObjectInputStream.resolveProxyClass(EjbObjectInputStream.java:55)
at
java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)
at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:
1732)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
org
.apache
.openejb
.core
.ivm
.naming
.CrossClassLoaderJndiReference
.copy(CrossClassLoaderJndiReference.java:53)
at
org
.apache
.openejb
.core
.ivm
.naming
.CrossClassLoaderJndiReference
.getObject(CrossClassLoaderJndiReference.java:36)
... 115 more
Of course we might just be suppressing the exception in 2.1.4 and
having the same problem and the context is in fact federated...
Seems it might be better to list the names rather than the names and
values. I don't know how this ever worked as the console's
classloader sort of prevent it from being a real EJB client -- at
least it would seem that way from the stack trace.
-David