On 3/11/2015 7:13 AM, Peter Hermsdorf
wrote:
update on my problem: (only one service gets imported from server)
1) both edef files aka. Endpoint Descriptions are parsed in
EndpointDescriptionParser.parse, but _both_ are parsed into an
ECFEndpointDescription like this:
[ECFEndpointDescription[id=ecftcp://peter-desktop:8889/server;endpoint.service.id=0;frameworkid=null]]
and so the second one gets sorted out because it's from that point
of view the same endpoint description like the first.
is
that correct/intended?
I don't think I understand. Yes they should be parsed into an
ECFEndpointDescription, but the values for endpoint.service.id and
frameworkid should be set to something...and they shouldn't be
considered the 'same endpoint description'...i.e. the
endpoint.service.id should be unique.
2) to trigger the discovery of the second service it's enought to
do a
refresh <edef bundle id>
on the osgi console.
Any ideas why it's working with the refresh but not initially on
application start?
Equinox remembers the state of the bundle and doesn't actually start
the bundle on application start, at least according to the
BundleTracker (used for ECF's edef filediscovery, as dictated by
spec).
I've seen this in tests as well...i.e. that bundles (e.g. edef
bundles...typically without Activator) that are in the active state
when the framework is stopped are not discovered upon framework
restart, even though the bundles are in a started state, because of
the above-describe behavior WRT the framework. If this is the root
of your problem let me know and I'll look into understanding better
the framework behavior relative to the edef discovery.
Scott
|