I can definitly say that I have a some kind of racecondition.
My bundle creates one configuration for a MSF bounded to the same location,
and also some configurations bounded to other locations. Only those
configuration is updated by the CA which was detected first. The sequence is
not predictable.

Thread 1
config = confAdmin.createFactoryConfiguration(factoryPIDintern);
config.update(properties0);
...

Thread 2
config = confAdmin.createFactoryConfiguration(factoryPIDextern, null);
config.update(properties1);
...
config = confAdmin.createFactoryConfiguration(factoryPIDextern, null);
config.update(properties2);
...
config = confAdmin.createFactoryConfiguration(factoryPIDextern, null);
config.update(properties3);
...


What I get is something like this:
"Cannot use configuration factoryPIDextern for
[org.osgi.service.cm.ManagedServiceFactory, id=52,
bundle=46/file:/externallocation]: No visibility to configuration bound to
file:/internallocation"
...

My Permissions
(org.osgi.framework.ConfigurationPermission * configure)
(org.osgi.framework.AdminPermission * metadata)

What the spec. says:
"...The calls to the updated method of a ManagedServiceFactory must be
executed sequentially and not overlap in time. ..."

Am I right in thinking that I need to synchronize with the CA?
What else am I doing wrong?

Thanks & Regards




--
View this message in context: 
http://apache-felix.18485.x6.nabble.com/OSGI-Configuration-cannot-take-effect-immediately-tp4833849p5004799.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to