@Override
public BindingAwareBroker addingService(ServiceReference<BindingAwareBroker> reference) {
broker = context.getService(reference);
- mdActivationPool.execute(new Runnable() {
-
- @Override
- public void run() {
- onBrokerAvailable(broker, context);;
- }
- });
+ mdActivationPool.execute(() -> onBrokerAvailable(broker, context));
return broker;
}
@Override
public void modifiedService(ServiceReference<BindingAwareBroker> reference, BindingAwareBroker service) {
- // TODO Auto-generated method stub
-
+ removedService(reference, service);
+ addingService(reference);
}
@Override
public void removedService(ServiceReference<BindingAwareBroker> reference, BindingAwareBroker service) {
- // TODO Auto-generated method stub
-
+ broker = context.getService(reference);
+ mdActivationPool.execute(() -> onBrokerRemoved(broker, context));
}
};
/**
* Called when this bundle is started (before
- * {@link #onSessionInitiated(ProviderContext)} so the Framework can perform
+ * {@link BindingAwareProvider#onSessionInitiated(ProviderContext)} so the Framework can perform
* the bundle-specific activities necessary to start this bundle. This
* method can be used to register services or to allocate any resources that
* this bundle needs.
*
* @param context
* The execution context of the bundle being started.
- * @throws Exception
+ * @throws RuntimeException
* If this method throws an exception, this bundle is marked as
* stopped and the Framework will remove this bundle's
* listeners, unregister all services registered by this bundle,
* This method must complete and return to its caller in a timely manner.
*
* @param context The execution context of the bundle being stopped.
- * @throws Exception If this method throws an exception, the bundle is still
+ * @throws RuntimeException If this method throws an exception, the bundle is still
* marked as stopped, and the Framework will remove the bundle's
* listeners, unregister all services registered by the bundle, and
* release all services used by the bundle.
protected abstract void onBrokerAvailable(BindingAwareBroker broker, BundleContext context);
protected void onBrokerRemoved(BindingAwareBroker broker, BundleContext context) {
-
+ stopImpl(context);
}
}