Как получить одинаковое состояние jar для нескольких модулей nbm?
В моем приложении платформы NetBeans есть два модуля nbm A и B и один проект jar . Модули NB зависят от JAR-файла, который содержит одноэлементный класс с именем Engine. Когда я обращаюсь к классу Engine из модуля A, создается и возвращается объект Engine. Поэтому я ожидаю уже созданный объект Engine, когда я вызываю тот же класс Engine из модуля B. Но он снова создает новый объект 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;
}
===модуль А===
System.out.println(Engine.getInstance());// prints object address 1
===модуль Б===
System.out.println(Engine.getInstance());// prints object address 2
Я хочу получить тот же объект из вызова модуля B, поскольку jar является общим ресурсом для этих двух модулей. Каков правильный способ обмена объектами между двумя nbm через одну банку?
1 ответ
Попробуйте реализовать Engine как ServiceProvider, например UpperCaseFilter, а затем используйте Lookup в следующем модуле, чтобы получить реализацию.
https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html