Archived

This forum has been archived. Please start a new discussion on GitHub.

How to integrate ice grid with OSGi?

Hi, all.

Maybe this is a stupid question. But I have no choice, I have to post this my question to here since there is only one forum for ICE all over the world.

About 7 months before, I was asked to try to integrate ICE grid and the OSGi platform. Now I have make a lot of research on this subject. I use Eclipse equinox as an OSGi platfrom. It's easy for me to expose the OSGi service to Apache XML RPC service. But I seems that it hard to integrate ICE and OSGi platform, because the icegridnode.exe(or other name in Linux OS) and icegridregistry.exe are binary programs which is written by C/C++ language.

But Now I find the following string in application.xml:
<icegrid
<application name="Session">
<node name="localhost">
<server id="SessionServer" exe="java" activation="session">
<option>Server</option>
<adapter name="Hello" endpoints="tcp" register-process="true">
<allocatable identity="hello" property="Identity"/>
</adapter>
</server>
</node>
</application>
</icegrid>


It seems that the adapter(or the server java program) is activated by calling a java program to execute. So I think that maybe I could activate the adapter in OSGi bundle and then try to find a way to enable the communication between ice grid and adapter which is deployed as a bundle.

Will anybody tell me how to integrate or how to expose OSGi service as the ICE Service? Is it possible to make a communication link between OSGi platform and ice grid?

I upload my XML RPC on OSGi bundle source files as an attachment, I hope somebody could help me or give me some advice.

Thanks.

Comments

  • The real question will be *why* are you integrating. If you are simply trying to make your OSGI services available via Ice, there is little choice but to generate the slice definition.