我的NetBeans平台应用程序有两个nbm模块A和B以及一个jar项目。NB模块依赖于一个JAR,该JAR包含名为Engine的单例类。当我从模块A访问Engine类时,Engine对象被创建并返回。所以当我从模块B调用相同的Engine类时,我希望已经创建了Engine对象。但它会再次创建新的Engine对象并返回。
===罐子模块===
Class Engine
{
private static Engine single_instance= null;
private Engine(){}
public static Engine getInstance()
{
if (single_instance == null)
{
single_instance = new Singleton();
}
return single_instance;
}
===模块A===
System.out.println(Engine.getInstance());// prints object address 1
===模块B===
System.out.println(Engine.getInstance());// prints object address 2
我也想从模块B调用中得到相同的对象,因为jar是这两个模块之间的共享资源。通过单个jar在两个nbm之间共享对象的正确方式是什么?
尝试将Engine实现为类似UpperCaseFilter的ServiceProvider,然后在下一个模块中使用Lookup来获得实现。
https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html