[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [riena-dev] Remote Services from updated Configurations of Managed Services
|
Ok now I understand what you are doing. The fact that service.id 1717
is also implementing the Business Interface (FahrerRemoteManger) is
not necessary but also does not hurt you. So it looks ugly but it will
work is all I can say.....
Maybe we could implement a better solution in Riena if you could
specify how that should work. Just you need to understand that
properties and configurations are two things. So configurations that
you managed service receives is nothing that is visible to a Riena
publisher.
I should work on the milestone :-) otherwise it will never come out
christian
Am 29.08.2008 um 14:08 schrieb ekkehard:
Christian Campo schrieb:
exactly.....
Your service instance implements two interfaces. So it needs to
register twice. Well actually I think you can register a service
with a list of interfaces. However the problem is that the
properties are set later for the second interface and these
properties are immutable.
only to verify that we talk about the same ;-)
in the example below:
first Service:
service.id=1717
implements 2 interfaces:
a) org.ekkehard.abc.dataManager.mitarbeiter.FahrerRemoteManagerI
b) org.osgi.service.cm.ManagedService
second service:
service.id=1718
implements 1 interface:
org.ekkehard.abc.dataManager.mitarbeiter.FahrerRemoteManagerI
(same as service.id 1717 a)
1717a) and b) are registered from EasyBeans and have some properties
from EasyBeans
1718 is registered by me and has set the Riena properties
so I have two services for exactly the same Interface
regards
ekke
So I see no other solution. Not sure if ConfigAdmin is overkill for
this or not. Thats up to you. Depends how flexible your protocol
and url properties have to be (are they static or do they change
between starts of the service instance).
regards
christian campo
Am 29.08.2008 um 10:59 schrieb ekkehard:
Christian,
I followed your advice:
while tracking my ManagedServices and filtering the ejb Services:
.........
Object service = context.getService(reference);
........
Dictionary properties = new Hashtable(3);
properties.put(RSDPublisherProperties.PROP_IS_REMOTE,
Boolean.TRUE.toString());
properties.put(RSDPublisherProperties.PROP_REMOTE_PROTOCOL,
"hessian");
properties.put(RSDPublisherProperties.PROP_REMOTE_PATH, "/
WS_"+reference.getProperty("ejb.interface"));
then I register the service itself for the interface with Riena
Properties:
context
.registerService((String)reference.getProperty("ejb.interface"),
service, properties);
now I'm having these services:
{org.ekkehard.abc.dataManager.mitarbeiter.FahrerRemoteManagerI,
org
.osgi
.service
.cm
.ManagedService
}=
{service
.pid
=
org
.ekkehard
.abc
.dataManager.mitarbeiter.FahrerRemoteManagerI:FahrerManagerBean,
ejb.id=4543710,
ejb
.classname
=org.ekkehard.abc.dataManager.mitarbeiter.FahrerManagerBean,
ejb.name=FahrerManagerBean,
ejb
.interface
=org.ekkehard.abc.dataManager.mitarbeiter.FahrerRemoteManagerI,
ejb.container.name=org.ekkehard.abc.dataManager, service.id=1717}
Registered by bundle: initial@reference:file:../../ekkehard/
plugins/org.ekkehard.abc.dataManager_1.0.0.jar/ [28]
Bundles using service:
initial@reference:file:../../ekkehard/plugins/
org.ekkehard.server_1.0.0.jar/ [42]
{org
.ekkehard
.abc
.dataManager
.mitarbeiter.FahrerRemoteManagerI}={riena.remote.protocol=hessian,
riena.remote.path=/
WS_org.ekkehard.abc.dataManager.mitarbeiter.FahrerRemoteManagerI,
riena.remote=true, service.id=1718}
Registered by bundle: initial@reference:file:../../ekkehard/
plugins/org.ekkehard.server_1.0.0.jar/ [42]
Bundles using service:
initial@reference:file:../../riena/plugins/
org.eclipse.riena.communication.publisher_1.0.0.M3.jar/ [61]
----
My intention to use the ConfigAdmin was to avoid the second Service,
but if I understand you right this isn't possible
thanks again
ekke
_______________________________________________
riena-dev mailing list
riena-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/riena-dev
_______________________________________________
riena-dev mailing list
riena-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/riena-dev
_______________________________________________
riena-dev mailing list
riena-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/riena-dev