【发布时间】:2011-03-20 11:17:29
【问题描述】:
我想使用 ServiceTracker 来使用我们公司发布的服务。 与其为我想要使用的每个服务创建新的 ServiceTracker,我认为最好只创建一个带有过滤器的服务,然后从中获取服务:
Filter filter = ctx.createFilter("(" + Constants.OBJECTCLASS + "=com.mycomp*)");
tracker = new ServiceTracker(ctx, filter, null);
这种方法的问题是,我需要遍历跟踪器发现的服务引用,检查它们的 objectClass 属性,看看我是否可以将它分配给服务对象,这非常麻烦并且由于强制转换而容易出错必填。
任何其他想法如何使用更优雅的方式来计算多个服务?
【问题讨论】:
标签: osgi