I'm trying to get get some DOSGi services working with Karaf 3.0.3 using Cellar 3.0.3. As background, I am using iPOJO for service injection. Also, I'm using Karaf instances for all my nodes (like, instance:create but using the karaf InstanceService).
First thing, I'm getting my services shared between nodes successfully. However, I'm noticing something strange. cluster:service-list show the correct count & type of services I'm registering. When I use service:list remoteServiceName, though, it will give a long, growing list of services registered that could only be duplicates of the original service. I am flagging the service requirement as optional with iPOJO, and consuming an aggregate of them if thats any clue. Second, I'm using iPOJO properties in a way that the consuming service utilizes them through the OSGi ServiceReference (injected with iPOJO whiteboard). However, the properties done seem to be carried over from the originating service on the other node. Is this expected behavior, and should I move that to methods instead? Third, I'm using the Karaf Instance API (that is, the InstanceService) as a means for launching nodes. By default its placed into, well, the default group and wants to sync up with the root instance's bundles. I don't want it to do this, it needs to not have the same bundle list as its master. It results in the creation of some services on the new node that I don't want. And *phew* one final note, this is all run from a custom distribution made using the karaf-maven-plugin, so any cellar configurations would need to be made there or with the Karaf instance api.
