Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Communications Framework (ECF) » org.eclipse.ecf.example.collab problems
org.eclipse.ecf.example.collab problems [message #579454] Tue, 08 February 2005 22:36 Go to next message
Li-Te Cheng is currently offline Li-Te Cheng
Messages: 16
Registered: July 2009
Junior Member
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.h andleAccept(TCPServerSOContainerGroup.java:104)
at org.eclipse.ecf.provider.comm.tcp.Server$2.run(Server.java:7 9)
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[ST4iAanAkSXKQ rEwKeexHHoKmrY-];null;2;SharedObjectMessage[StringID[chat];R emoteSharedObjectMsgEvent[StringID[chat];null;SharedObjectMs g[null:handleNotifyUserAdded(Li-Te
Cheng)]]]]:GUID[ST4iAanAkSXKQrEwKeexHHoKmrY-]
(trace)org.eclipse.ecf.provider(connection)[02/08/05;17:23:4 0:435]send:localhost:3282:AsynchMessage[[B@1b68d78]
(trace)org.eclipse.ecf.provider(connection)[02/08/05;17:23:4 0: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.RemoteSharedObjectMsgEv ent
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(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.jav a:574)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream .java:1538)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.ja va:1460)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStre am.java:1693)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStrea m.java:1912)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.j ava:1836)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStre am.java:1713)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java :1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStrea m.java:1912)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.j ava:1836)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStre am.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.getObjectFromBy tes(SOContainer.java:579)
at
org.eclipse.ecf.provider.generic.SOContainer.processAsynch(S OContainer.java:938)
at
org.eclipse.ecf.provider.generic.SOContainer$MessageReceiver .handleAsynchEvent(SOContainer.java:195)
at org.eclipse.ecf.provider.comm.tcp.Client.handleRcv(Client.ja va:419)
at org.eclipse.ecf.provider.comm.tcp.Client.access$4(Client.jav a:404)
at org.eclipse.ecf.provider.comm.tcp.Client$4.run(Client.java:3 78)
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
Re: org.eclipse.ecf.example.collab problems [message #579473 is a reply to message #579454] Wed, 09 February 2005 00:24 Go to previous messageGo to next message
Scott Lewis is currently offline Scott Lewis
Messages: 971
Registered: July 2009
Senior Member
Hi Li-Te,

Thanks for the info...couple of comments and questions below:

Li-Te wrote:
> Hi,
>
<stuff deleted>
>
> Now the joinGroup call appears to be successful. There must be a typo
> somewhere with an extra slash.

OK...I did find a typo and fixed in the source/config files. Thanks.
Getting an update for the org.eclipse.ecf.example.collab and
org.eclipse.ecf.provider plugins will get you the fixed code.


>
> b) ClassNotFoundException: RemoteSharedObjectMsgEvent
>
<stack trace deleted>
>
> 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.

There's a feature of OSGI that we are depending upon here...and that's
provided via the 'DynamicImport-Package' property in the
org.eclipse.ecf.provider plugin. In the manifest.mf file in the
org.eclipse.ecf.provider plugin is a line that looks like this:

DynamicImport-Package: *

The OSGI-spec'd behavior for this is that any classes exposed by other
plugins (via the Export-Package: property in manifest.mf) should be
seen/loaded by the plugin declaring the DynamicImport-Package wildcard
as above. So in the manifest.mf for the org.eclipse.ecf.example.collab
plugin should be:

Export-Package: org.eclipse.ecf.example.collab.share,
org.eclipse.ecf.example.collab.share.url,
org.eclipse.ecf.example.collab.share.io

(on one line)

And this *should* allow the org.eclipse.ecf.provider plugin classloader
(the one doing the object deserialization) to find the
org.eclipse.ecf.example.collab.share.RemoteSharedObjectMsgEv ent class,
load it, and deserialize the stream.

This is working fine for my/our tests...I'm currently at a loss as to
why it would not be working for you. Can you make sure that the
respective manifest.mf files have the lines above in them (they do in
the checkedin versions...I just checked now).

Then, assuming they are there in your copies...what platform are you
running on and what version of Eclipse are you using? Is there a chance
that the OSGI behavior for classloading is not working right on that
platform/version?

I will also attempt to reproduce on my machine given a whole new
installation/etc. I would appreciate any further assistance you can
give on this, as it's obviously important to make sure that this
mechanism works as expected until ECF puts something else in place (i.e.
to allow plugins to register their packages with providers rather than
using DynamicImport-Package.

Thanks,

Scott


>
>
> Any thoughts?
>
> Thanks,
>
> Li-Te
Re: org.eclipse.ecf.example.collab problems [message #579489 is a reply to message #579473] Wed, 09 February 2005 19:33 Go to previous messageGo to next message
Li-Te Cheng is currently offline Li-Te Cheng
Messages: 16
Registered: July 2009
Junior Member
Hi Scott,

Ok - it was indeed a problem with the MANIFEST.MF file. I refreshed it
and the example app works fine now.

Thanks,

Li-Te

Scott Lewis wrote:
> Hi Li-Te,
>
> Thanks for the info...couple of comments and questions below:
>
> Li-Te wrote:
>
>> Hi,
>>
> <stuff deleted>
>
>>
>> Now the joinGroup call appears to be successful. There must be a typo
>> somewhere with an extra slash.
>
>
> OK...I did find a typo and fixed in the source/config files. Thanks.
> Getting an update for the org.eclipse.ecf.example.collab and
> org.eclipse.ecf.provider plugins will get you the fixed code.
>
>
>>
>> b) ClassNotFoundException: RemoteSharedObjectMsgEvent
>>
> <stack trace deleted>
>
>>
>> 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.
>
>
> There's a feature of OSGI that we are depending upon here...and that's
> provided via the 'DynamicImport-Package' property in the
> org.eclipse.ecf.provider plugin. In the manifest.mf file in the
> org.eclipse.ecf.provider plugin is a line that looks like this:
>
> DynamicImport-Package: *
>
> The OSGI-spec'd behavior for this is that any classes exposed by other
> plugins (via the Export-Package: property in manifest.mf) should be
> seen/loaded by the plugin declaring the DynamicImport-Package wildcard
> as above. So in the manifest.mf for the org.eclipse.ecf.example.collab
> plugin should be:
>
> Export-Package: org.eclipse.ecf.example.collab.share,
> org.eclipse.ecf.example.collab.share.url,
> org.eclipse.ecf.example.collab.share.io
>
> (on one line)
>
> And this *should* allow the org.eclipse.ecf.provider plugin classloader
> (the one doing the object deserialization) to find the
> org.eclipse.ecf.example.collab.share.RemoteSharedObjectMsgEv ent class,
> load it, and deserialize the stream.
>
> This is working fine for my/our tests...I'm currently at a loss as to
> why it would not be working for you. Can you make sure that the
> respective manifest.mf files have the lines above in them (they do in
> the checkedin versions...I just checked now).
>
> Then, assuming they are there in your copies...what platform are you
> running on and what version of Eclipse are you using? Is there a chance
> that the OSGI behavior for classloading is not working right on that
> platform/version?
>
> I will also attempt to reproduce on my machine given a whole new
> installation/etc. I would appreciate any further assistance you can
> give on this, as it's obviously important to make sure that this
> mechanism works as expected until ECF puts something else in place (i.e.
> to allow plugins to register their packages with providers rather than
> using DynamicImport-Package.
>
> Thanks,
>
> Scott
>
>
>>
>>
>> Any thoughts?
>>
>> Thanks,
>>
>> Li-Te
Re: org.eclipse.ecf.example.collab problems [message #580871 is a reply to message #579489] Tue, 12 April 2005 10:12 Go to previous messageGo to next message
Simon Li is currently offline Simon Li
Messages: 16
Registered: July 2009
Junior Member
Hi, Scott and Li-Te

I have the same "class not found" problem while MANIFEST.MF file is correct.
I checked the run configuration, in class path page, I found
org.eclipse.ecf.example.collab was not in the user entry.

I solved it by adding that project.

My enviorment:
Win2000 Sp4,
Eclispe SDK 3.1M6,
emf-sdo-xsd-SDK-I200504070700.zip
org.eclipse.ecf-1.0.0.M1.zip

Best Regards!
Simon

"Li-Te" <li-te_cheng@us.ibm.com> wrote in message
news:420A65A6.8090807@us.ibm.com...
> Hi Scott,
>
> Ok - it was indeed a problem with the MANIFEST.MF file. I refreshed it
> and the example app works fine now.
>
> Thanks,
>
> Li-Te
>
> Scott Lewis wrote:
> > Hi Li-Te,
> >
> > Thanks for the info...couple of comments and questions below:
> >
> > Li-Te wrote:
> >
> >> Hi,
> >>
> > <stuff deleted>
> >
> >>
> >> Now the joinGroup call appears to be successful. There must be a typo
> >> somewhere with an extra slash.
> >
> >
> > OK...I did find a typo and fixed in the source/config files. Thanks.
> > Getting an update for the org.eclipse.ecf.example.collab and
> > org.eclipse.ecf.provider plugins will get you the fixed code.
> >
> >
> >>
> >> b) ClassNotFoundException: RemoteSharedObjectMsgEvent
> >>
> > <stack trace deleted>
> >
> >>
> >> 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.
> >
> >
> > There's a feature of OSGI that we are depending upon here...and that's
> > provided via the 'DynamicImport-Package' property in the
> > org.eclipse.ecf.provider plugin. In the manifest.mf file in the
> > org.eclipse.ecf.provider plugin is a line that looks like this:
> >
> > DynamicImport-Package: *
> >
> > The OSGI-spec'd behavior for this is that any classes exposed by other
> > plugins (via the Export-Package: property in manifest.mf) should be
> > seen/loaded by the plugin declaring the DynamicImport-Package wildcard
> > as above. So in the manifest.mf for the org.eclipse.ecf.example.collab
> > plugin should be:
> >
> > Export-Package: org.eclipse.ecf.example.collab.share,
> > org.eclipse.ecf.example.collab.share.url,
> > org.eclipse.ecf.example.collab.share.io
> >
> > (on one line)
> >
> > And this *should* allow the org.eclipse.ecf.provider plugin classloader
> > (the one doing the object deserialization) to find the
> > org.eclipse.ecf.example.collab.share.RemoteSharedObjectMsgEv ent class,
> > load it, and deserialize the stream.
> >
> > This is working fine for my/our tests...I'm currently at a loss as to
> > why it would not be working for you. Can you make sure that the
> > respective manifest.mf files have the lines above in them (they do in
> > the checkedin versions...I just checked now).
> >
> > Then, assuming they are there in your copies...what platform are you
> > running on and what version of Eclipse are you using? Is there a chance
> > that the OSGI behavior for classloading is not working right on that
> > platform/version?
> >
> > I will also attempt to reproduce on my machine given a whole new
> > installation/etc. I would appreciate any further assistance you can
> > give on this, as it's obviously important to make sure that this
> > mechanism works as expected until ECF puts something else in place (i.e.
> > to allow plugins to register their packages with providers rather than
> > using DynamicImport-Package.
> >
> > Thanks,
> >
> > Scott
> >
> >
> >>
> >>
> >> Any thoughts?
> >>
> >> Thanks,
> >>
> >> Li-Te
Re: org.eclipse.ecf.example.collab problems [message #580907 is a reply to message #580871] Sat, 16 April 2005 22:14 Go to previous message
Scott Lewis is currently offline Scott Lewis
Messages: 971
Registered: July 2009
Senior Member
Hi Simon,

Yes...thanks for the fix!

Scott

Simon Li wrote:
> Hi, Scott and Li-Te
>
> I have the same "class not found" problem while MANIFEST.MF file is correct.
> I checked the run configuration, in class path page, I found
> org.eclipse.ecf.example.collab was not in the user entry.
>
> I solved it by adding that project.
>
> My enviorment:
> Win2000 Sp4,
> Eclispe SDK 3.1M6,
> emf-sdo-xsd-SDK-I200504070700.zip
> org.eclipse.ecf-1.0.0.M1.zip
>
> Best Regards!
> Simon
>
> "Li-Te" <li-te_cheng@us.ibm.com> wrote in message
> news:420A65A6.8090807@us.ibm.com...
>
>>Hi Scott,
>>
>>Ok - it was indeed a problem with the MANIFEST.MF file. I refreshed it
>>and the example app works fine now.
>>
>>Thanks,
>>
>>Li-Te
>>
>>Scott Lewis wrote:
>>
>>>Hi Li-Te,
>>>
>>>Thanks for the info...couple of comments and questions below:
>>>
>>>Li-Te wrote:
>>>
>>>
>>>>Hi,
>>>>
>>>
>>><stuff deleted>
>>>
>>>>Now the joinGroup call appears to be successful. There must be a typo
>>>>somewhere with an extra slash.
>>>
>>>
>>>OK...I did find a typo and fixed in the source/config files. Thanks.
>>>Getting an update for the org.eclipse.ecf.example.collab and
>>>org.eclipse.ecf.provider plugins will get you the fixed code.
>>>
>>>
>>>
>>>>b) ClassNotFoundException: RemoteSharedObjectMsgEvent
>>>>
>>>
>>><stack trace deleted>
>>>
>>>>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.
>>>
>>>
>>>There's a feature of OSGI that we are depending upon here...and that's
>>>provided via the 'DynamicImport-Package' property in the
>>>org.eclipse.ecf.provider plugin. In the manifest.mf file in the
>>>org.eclipse.ecf.provider plugin is a line that looks like this:
>>>
>>>DynamicImport-Package: *
>>>
>>>The OSGI-spec'd behavior for this is that any classes exposed by other
>>>plugins (via the Export-Package: property in manifest.mf) should be
>>>seen/loaded by the plugin declaring the DynamicImport-Package wildcard
>>>as above. So in the manifest.mf for the org.eclipse.ecf.example.collab
>>>plugin should be:
>>>
>>>Export-Package: org.eclipse.ecf.example.collab.share,
>>>org.eclipse.ecf.example.collab.share.url,
>>>org.eclipse.ecf.example.collab.share.io
>>>
>>>(on one line)
>>>
>>>And this *should* allow the org.eclipse.ecf.provider plugin classloader
>>>(the one doing the object deserialization) to find the
>>> org.eclipse.ecf.example.collab.share.RemoteSharedObjectMsgEv ent class,
>>>load it, and deserialize the stream.
>>>
>>>This is working fine for my/our tests...I'm currently at a loss as to
>>>why it would not be working for you. Can you make sure that the
>>>respective manifest.mf files have the lines above in them (they do in
>>>the checkedin versions...I just checked now).
>>>
>>>Then, assuming they are there in your copies...what platform are you
>>>running on and what version of Eclipse are you using? Is there a chance
>>>that the OSGI behavior for classloading is not working right on that
>>>platform/version?
>>>
>>>I will also attempt to reproduce on my machine given a whole new
>>>installation/etc. I would appreciate any further assistance you can
>>>give on this, as it's obviously important to make sure that this
>>>mechanism works as expected until ECF puts something else in place (i.e.
>>>to allow plugins to register their packages with providers rather than
>>>using DynamicImport-Package.
>>>
>>>Thanks,
>>>
>>>Scott
>>>
>>>
>>>
>>>>
>>>>Any thoughts?
>>>>
>>>>Thanks,
>>>>
>>>>Li-Te
>
>
>
Previous Topic:ecf for client/server rcp
Next Topic:Graphshare
Goto Forum:
  


Current Time: Tue Oct 21 20:01:07 GMT 2014

Powered by FUDForum. Page generated in 0.07954 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software