У меня есть проблема, и я не знаю, как ее решить
Допустим, у меня есть два интерфейса поставщика услуг (SPI)
public interface View{
display();
}
public interface Logger{
log(String s);
}
И поставщик услуг, который предоставляетобе службы, т.е.
public class LogView implements View, Logger{
...
}
Проблема заключается в том, что когда я пытаюсь получить экземпляр службы журнала через ServiceLoader.load(Logger.class)
, он отличается от экземпляра, созданного с помощью ServiceLoader.load(View.class)
.Есть ли способ сделать это так, чтобы я мог получить один и тот же экземпляр объекта из обоих вызовов?
Идея состоит в том, что после загрузки представления в качестве графического интерфейса пользователя, я хочу иметь возможность войти в тот же экземпляриз графического интерфейса и не другой.В настоящее время я застрял с двумя отдельными экземплярами, поэтому журнал действительно появляется.