Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

strange ClassNotFoundException using ejb

0 views
Skip to first unread message

Mark

unread,
Oct 21, 2003, 9:09:22 AM10/21/03
to

I have an ejb deployed as part of an ear. the ejb has a manifest.mf which allows
it to access helper jars and classes in the ear. I see the below error message
when the bean tries to use the ReportDirectoryBase class. That class is accessable
to the ejb classpath. It's in the ear and the manifest.mf directs the ejb to
that class.

The ReportDirectoryBase class is also used by our webapp, and we see a similar
error message when accessing this class through the web app. Any insights would
be most helpfull.

####<Oct 21, 2003 8:01:38 AM EDT> <Error> <Unknown> <mlybarger> <myserver> <ExecuteThread:
'11' for queue: 'default'> <> <> <000000> <EventSubmitBean.submit() - error: java.rmi.UnmarshalException:
error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: com.cbc.isac.toolkit.ReportDirectoryBase:
This error could indicate that a component was deployed on a cluster member but
not other members of that cluster. Make sure that any component deployed on a
server that is part of a cluster is also deployed on all other members of that
cluster

Start server side stack trace:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:

java.lang.ClassNotFoundException: com.cbc.isac.toolkit.ReportDirectoryBase:
This error could indicate that a component was deployed on a cluster member but
not other members of that cluster. Make sure that any component deployed on a
server that is part of a cluster is also deployed on all other members of that
cluster
java.lang.ClassNotFoundException: com.cbc.isac.toolkit.ReportDirectoryBase: This
error could indicate that a component was deployed on a cluster member but not
other members of that cluster. Make sure that any component deployed on a server
that is part of a cluster is also deployed on all other members of that cluster
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:162)
at weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:211)
at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.java:300)
at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at java.util.ArrayList.readObject(ArrayList.java:531)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)

Mark

unread,
Oct 21, 2003, 12:11:38 PM10/21/03
to

got it figured out kinda. We were passing a ReportDocument object to an ejb.
This object doesn't have a ReportDirectoryBase instance, but it does have a List
of ReportDirectoryBase objects, The ejb that is using the ReportDocument works
fine when it recieves a ReportDocument that doesn't contain a list of ReportDirectoryBase
objects, but craps out when it has to serialize a ReportDocument object that
contains a list of ReportDirectoryBase objects. The ejb does not have the ReportDirectoryBase
class in it (since it doesn't directly use that class). I suspect that weblogic
has to identify the classes it's serializing on the ejb side.

Note, this is not a problem when running the ejb, and the webapp all under the
same weblogic instance (one server for webapp and ejb's for development).

0 new messages