【发布时间】:2021-06-13 07:57:24
【问题描述】:
我创建了一个带有 null ServiceTrackerCustomizer 的 ServiceTracker,并覆盖了 addedService 和 removedService 方法。
考虑一下这段代码 sn-p 用于 addService 方法。
public T addingService(ServiceReference<T> reference) {
T service = super.addingService(reference);
try {
// some code which may throw exception.
} catch (Exception ex) {
// Let's not track if exception occurred.
service = null;
this.context.ungetService(reference);
}
return service;
}
那么,如果出现异常,是否可以急切地释放服务?或者我们可以省略它,OSGi 框架会负责稍后发布服务?
请指教。
【问题讨论】:
标签: osgi apache-felix