【发布时间】:2011-04-13 13:33:23
【问题描述】:
在 Eclipse RCP 应用程序的上下文中,我决定使用 OSGi 服务从插件(即包)中提供“接口”。
在我的一个插件中,我有以下解析器接口:
public interface Parser {
public void start(File file);
public boolean hasNext();
public Object next();
}
消费者插件将使用此接口来解析文件。因为可以同时完成多个解析,并且因为此接口的实现将需要多个“状态”私有字段,因此该服务的每个使用者都必须使用专用的服务实例。
在这种情况下,manu OSGi 教程提供的默认解决方案(包括在解析器包的启动方法中注册一个服务实例)不起作用。处理这种解决方案的最佳解决方案是什么? 我可以使用一种独特的方法创建 ParserFactory 服务:
public Parser create(File file);
??
欢迎评论,
【问题讨论】: