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