[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.technology.ecf] org.eclipse.ecf.example.collab problems
|
Hi,
I was trying out the sample ECF app in org.eclipse.ecf.example.collab
and ran into a two problems - the first I was able to resolve.
Background: I obtained the code via CVS, ran server and 2 clients using
a single WinXP machine using localhost and JDK 5.0, and used the sample
launch configurations (ECF Collab Server, Client 1, and Client 2) as
suggested in http://www.eclipse.org/ecf/downloads.html :
a) localhost:3282/server vs localhost:3282//server
I run Client 1, and use "ECF/Join Test Collaboraton (localhost)".
Then I run Client 2 and use the menu, "ECF/Join Test Collaboration
(localhost)", it logs me on with same userid as Client 1.
So I quit and restarted Client 2, but used "ECF/Join Client
Collaboration..." instead, bringing up the dialog. I change the
nickname and hit "Finish".
I get "Could not connect to group 'ecftcp://localhost:3282/server'. I
also see a stacktrace:
java.io.InvalidObjectException: Container for target /server not found!
at
org.eclipse.ecf.provider.generic.TCPServerSOContainerGroup.handleAccept(TCPServerSOContainerGroup.java:104)
at org.eclipse.ecf.provider.comm.tcp.Server$2.run(Server.java:79)
at java.lang.Thread.run(Thread.java:595)
I notice that "//server" is showing up in the console for the server and
client 1. So I change the Group ID, which was
'ecftcp://localhost:3282/server' to 'ecftcp://localhost:3282//server'
(extra slash).
Now the joinGroup call appears to be successful. There must be a typo
somewhere with an extra slash.
b) ClassNotFoundException: RemoteSharedObjectMsgEvent
Upon connecting 2 clients, immediately I get
trace)org.eclipse.ecf.provider(container)[02/08/05;17:23:40:435]sendcontainermessage:ContainerMessage[GUID[ST4iAanAkSXKQrEwKeexHHoKmrY-];null;2;SharedObjectMessage[StringID[chat];RemoteSharedObjectMsgEvent[StringID[chat];null;SharedObjectMsg[null:handleNotifyUserAdded(Li-Te
Cheng)]]]]:GUID[ST4iAanAkSXKQrEwKeexHHoKmrY-]
(trace)org.eclipse.ecf.provider(connection)[02/08/05;17:23:40:435]send:localhost:3282:AsynchMessage[[B@1b68d78]
(trace)org.eclipse.ecf.provider(connection)[02/08/05;17:23:40:515]recv:localhost:3282:AsynchMessage[[B@105562b]
(trace)org.eclipse.ecf.provider(container)[02/08/05;17:23:40:525]class
not found for message:GUID[ST4iAanAkSXKQrEwKeexHHoKmrY-]
java.lang.ClassNotFoundException:
org.eclipse.ecf.example.collab.share.RemoteSharedObjectMsgEvent
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:404)
at
org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:574)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at
org.eclipse.ecf.provider.generic.SOContainer.getObjectFromBytes(SOContainer.java:579)
at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(SOContainer.java:938)
at
org.eclipse.ecf.provider.generic.SOContainer$MessageReceiver.handleAsynchEvent(SOContainer.java:195)
at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.java:419)
at org.eclipse.ecf.provider.comm.tcp.Client.access$4(Client.java:404)
at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:378)
at java.lang.Thread.run(Thread.java:595)
I continue seeing the same error whenever I try typing in the team chat
area, etc. Whenever I type in client 1, client 2 generates the above
stacktrace, and vice versa (typing in client 2 triggers the stacktrace
in client 1).
It looks like a classloader problem with RemoteSharedObjectMsgEvent,
which is defined in the org.eclipse.ecf.example.collab plugin, whereas
the rest of the ECF Event classes are found in the org.eclipse.ecf plugin.
Any thoughts?
Thanks,
Li-Te