When the implementation of {@code updated(Dictionary)} detects any kindof error in the configuration properties, it should create a new {@code ConfigurationException} which describes the problem. This canallow a management system to provide useful information to a human administrator.
If this method throws any other {@code Exception}, the Configuration Admin service must catch it and should log it.
The Configuration Admin service must call this method asynchronously with the method that initiated the callback. This implies that implementors of Managed Service can be assured that the callback will not take place during registration when they execute the registration in a synchronized method.
If the the location allows multiple managed services to be called back for a single configuration then the callbacks must occur in service ranking order. Changes in the location must be reflected by deleting the configuration if the configuration is no longer visible and updating when it becomes visible.
If no configuration exists for the corresponding PID, or the bundle has no access to the configuration, then the bundle must be called back with a {@code null} to signal that CM is active but there is no data. @param properties A copy of the Configuration properties, or {@code null}. This argument must not contain the "service.bundleLocation" property. The value of this property may be obtained from the {@code Configuration.getBundleLocation} method. @throws ConfigurationException when the update fails @security ConfigurationPermission[c.location,TARGET] Required by thebundle that registered this service
|
|
|
|
|
|