Community
Participate
Working Groups
A JXTA-based ECF provider implementation would be very valuable. Existing JXTA clients would be interoperable with ECF/Eclipse RCP-based clients.
I suggest implementing the ISharedObjectContainer class as the JxtaContainer. Associated classes ISharedObject and its associated ISharedObjectContext will be de facto great helper to do the job.
(In reply to comment #1) > I suggest implementing the ISharedObjectContainer class as the JxtaContainer. > Associated classes ISharedObject and its associated ISharedObjectContext will > be de facto great helper to do the job. > I think this is exactly right. Thanks for the comments.
Created attachment 38946 [details] A test JxtaClient Scott, When I try to creat a JXTA client for a jxta provider I can't run code in the startJXTA() call. There is the following error I cant find the cause: _________________________ java.lang.NoClassDefFoundError: org/apache/log4j/Priority at org.eclipse.ecf.provider.jxta.container.JxtaContainer.startJXTA(JxtaContainer.java:53) at org.eclipse.ecf.provider.jxta.container.JxtaContainer.<init>(JxtaContainer.java:48) at org.eclipse.ecf.provider.jxta.container.JxtaContainerInstantiator.createInstance(JxtaContainerInstantiator.java:31) at org.eclipse.ecf.core.ContainerFactory.createContainer(ContainerFactory.java:213) at org.eclipse.ecf.core.ContainerFactory.createContainer(ContainerFactory.java:227) at org.eclipse.ecf.example.clients.JXTAChatClient.connect(JXTAChatClient.java:43) at org.eclipse.ecf.example.clients.RobotApplication.runRobot(RobotApplication.java:59) at org.eclipse.ecf.example.clients.RobotApplication.run(RobotApplication.java:45) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952) _____________________________________________ I run the RobotApplication with a JXTAClient/JXTAChatClient replacing XMPPClient/XMPPChatClient .
Hi Pierre, The NoClassDefFoundError looks to me like a dependency within your Jxta provider code on org.apache.log4j.Priority. By default, this class (log4j.Priority) is not available in the classloader namespace for your (Jxta provider) plugin. Need to either a) find a plugin within platform that exposes this class; b) remove dependency on this class (Priority and other log4j)...which I expect may be impossible because Jxta depends on it?; c) add log4j library to your plugin and include on classpath > Scott, > > When I try to creat a JXTA client for a jxta provider I can't run code in the > startJXTA() call. There is the following error I cant find the cause: > _________________________ > java.lang.NoClassDefFoundError: org/apache/log4j/Priority > at > org.eclipse.ecf.provider.jxta.container.JxtaContainer.startJXTA(JxtaContainer.java:53) > at > org.eclipse.ecf.provider.jxta.container.JxtaContainer.<init>(JxtaContainer.java:48) > at > org.eclipse.ecf.provider.jxta.container.JxtaContainerInstantiator.createInstance(JxtaContainerInstantiator.java:31) > at > org.eclipse.ecf.core.ContainerFactory.createContainer(ContainerFactory.java:213) > at > org.eclipse.ecf.core.ContainerFactory.createContainer(ContainerFactory.java:227) > at > org.eclipse.ecf.example.clients.JXTAChatClient.connect(JXTAChatClient.java:43) > at > org.eclipse.ecf.example.clients.RobotApplication.runRobot(RobotApplication.java:59) > at > org.eclipse.ecf.example.clients.RobotApplication.run(RobotApplication.java:45) > at > org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) > at > org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) > at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) > at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) > at org.eclipse.core.launcher.Main.basicRun(Main.java:280) > at org.eclipse.core.launcher.Main.run(Main.java:977) > at org.eclipse.core.launcher.Main.main(Main.java:952) > _____________________________________________ > > > I run the RobotApplication with a JXTAClient/JXTAChatClient replacing > XMPPClient/XMPPChatClient . >
There is a view now for the presence of JXTA peers, JxtaRosterView, derived from the RosterView of ECF. Next work is to connect the jxta model with the ChatWindow. All materials for testing is left on the wiki ECF projects site.
The last mile now is to implement the IPresenceContainer ECF API.
Pierre, I noticed your message on your wiki page that you've received "the permission to release the JXTA work on the EPL license". Is it currently undergoing IP review? What's the status on that?
Remy, I have submitted a CQ to IPZILLA at address https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1068 Pierre
Hi! (In reply to comment #8) > I have submitted a CQ to IPZILLA at address > https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1068 I'm interested in using JXTA and ECF for a distributed computing project. So I downloaded the plug-in attached to the IPZilla issue. I noticed a lot of included jars which could cause some overhead. Some of those (eg. javax.servlet) are available in the Orbit project. Anyway, would it make sense to extract the chat and the UI specific stuff into its own bundle? JXTA is more than chatting a bit. ;) Also what protocols are used in the plug-in? Does it support all the JXTA features like rendezvous, discovery, etc?
Hi Gunnar, (In reply to comment #9) > Hi! > > (In reply to comment #8) > > I have submitted a CQ to IPZILLA at address > > https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1068 > > I'm interested in using JXTA and ECF for a distributed computing project. So I > downloaded the plug-in attached to the IPZilla issue. I noticed a lot of > included jars which could cause some overhead. Some of those (eg. > javax.servlet) are available in the Orbit project. Yes, those need to be removed now that Orbit has them. I've created bug #166507 to hold this. > > Anyway, would it make sense to extract the chat and the UI specific stuff into > its own bundle? JXTA is more than chatting a bit. ;) Yes, Pierre and I have already talked about that. It think he's working on it. I've created bug #166510 to hold this. > > Also what protocols are used in the plug-in? Does it support all the JXTA > features like rendezvous, discovery, etc? Pierre will have to answer that (he's the author of the JXTA provider). I don't think he's yet used JXTA discovery to implement the ECF discovery API, but that certainly is a possibility.
New version of jxta provider on the osuosl repo. By the way, the plugins (3) are on the ecf cvs root directory; they should be in the plugins but I dont know why they are not (perhaps I have put them in at first time...) This version is based on ECF 1.0 release. There is an rcp example plugin to test the buddies in the jxta net peer group. I will now implement the discovery api and also chat container.
Pierre, any progress on this?
(In reply to comment #12) > Pierre, any progress on this? > Yes, I will soon update the repository. There is a working app on the repo, but I've had difficulties with the JXTA configuration that I try to solve with James Todd. For the moment, the container exposes all JXTA services that can be used to create an application that uses these services, but it's unusable to create a chat app because of config pbs. I am working on that.
Pierre any further progress on the associated issues? Are you able to continue work on this or should we look for other community contributions for this...or both?
Moving target milestone to 2.0.0M4.
Sorry for the late answer, but I was busy. Yes, I'm able to go on this project. In fact, there is a running RCP app in the ecf1 repo. There is a configuration problem that should be worked on, which I 'm going to work on.
I have refactored the whole plugin which is now an osgi service. I need to know if the IP process is ok with all the lib used ( see https://bugs.eclipse.org/bugs/show_bug.cgi?id=166507 ). Then it could be released for integration tests int ecf framework.
Any further progress on this bug, given jxta additions/improvements, etc?
(In reply to comment #19) > Any further progress on this bug, given jxta additions/improvements, etc? > Yes, there has been a complete refactoring of this plugin. I've moved to a new place, so I didnt get connected easily and had many things to care upon. Now I have a dsl line again and will soon commit new stuff with samples. Thx to be patient.
(In reply to comment #19) > Any further progress on this bug, given jxta additions/improvements, etc? > Sounds great Pierre. Will you be at EclipseCon? Please let everyone know on this bug as commits happen, etc and as things get in place we'll incorporate into osuosl build.
changing target milestone to 2.1
Moving to enhancement, which is where it belongs.
If work by others is planned on this, please reopen