Discussion:
[jade-develop] Configuring kernel-services in JADE-OSGI environment
Axel Wunsch
2014-08-18 08:09:42 UTC
Permalink
Hi to all friends of JADE,

I'm developing an Eclipse RCP application with JADE-OSGI integration and
managed so far, as to get the agent system up running and starting my
own agents on the platform. Now i'm trying to launch custom
kernel-services (not OSGI-services) with the agent platform, whose
implementations are located in a different bundle. The problem is, that
the classloader of the JADE-OSGI-bundle does not recognize these classes
and i don't know how to propagate the kernel-service implementation
classes to the JADE-OSGI-bundle. Is there any way to avoid this
classloading problem, like using the acceptNewAgent()-method from the
JavaRuntimService in the context of agent creation?

Kind regards,
Axel Wunsch
Caire Giovanni
2014-08-19 07:37:42 UTC
Permalink
Hi,

Unfortunately at present JADE Kernel services (shortly JKservices to distinguish them from OSGi services) cannot be loaded from separated bundles as it happens for agents.
The main reason why that was not implemented is the fact that JKservices are not dynamic i.e. they cannot be started and stopped at runtime. Therefore what should we do if a bundle containing a JKservice is stopped or updated? If the answer to this question was "nothing", implementing the support to load JKservices from separated bundles would not be difficult.
Any comment and suggestion is welcome.

Bye,

Giovanni

-----Messaggio originale-----
Da: jade-develop [mailto:jade-develop-bounces at avalon.tilab.com] Per conto di Axel Wunsch
Inviato: lunedì 18 agosto 2014 10:10
A: jade-develop at avalon.tilab.com
Oggetto: [jade-develop] Configuring kernel-services in JADE-OSGI environment

Hi to all friends of JADE,

I'm developing an Eclipse RCP application with JADE-OSGI integration and managed so far, as to get the agent system up running and starting my own agents on the platform. Now i'm trying to launch custom kernel-services (not OSGI-services) with the agent platform, whose implementations are located in a different bundle. The problem is, that the classloader of the JADE-OSGI-bundle does not recognize these classes and i don't know how to propagate the kernel-service implementation classes to the JADE-OSGI-bundle. Is there any way to avoid this classloading problem, like using the acceptNewAgent()-method from the JavaRuntimService in the context of agent creation?

Kind regards,
Axel Wunsch
_______________________________________________
jade-develop mailing list
jade-develop at avalon.tilab.com
http://jade.tilab.com/mailman/listinfo/jade-develop
UNSUBSCRIBE INSTRUCTIONS AT
http://jade.tilab.com/community-mailinglist.htm

Loading...