Я использую декларативные службы OSGI.
В моем java-приложении я запускаю Apache Felix, устанавливаю и запускаю некоторые пакеты.
Установлено два пакета, использующих один и тот же путь к файлу. После запуска пакета он должен отображать сообщение «Привет».
Когда я устанавливаю и запускаю первый пакет:
Bundle bundle1 = context.installBundle("file:C://Users//bundles//myBundle.jar");
bundle1.start();
Это показывает «Hello» в консоли.
Однако, когда я устанавливаю второй пакет (с тем же путем к файлу, что и первый пакет)
Bundle bundle2= context.installBundle("file:C://Users//bundles//myBundle.jar");
bundle2.start();
Я не вижу выхода. Это означает, что установка и/или запуск второго пакета были проигнорированы.
Мне нужен способ установить и запустить два разных пакета с одним и тем же путем к файлу, и когда я останавливаю один из этих пакетов, другой должен оставаться АКТИВНЫМ. Как я могу достичь этого? Спасибо.
Вариант использования, о котором я думаю: допустим, у меня есть два пользователя, и оба хотели бы использовать одну и ту же функцию (пакет). Что, если один из них решит отключить функцию пакета, а другой захочет ее сохранить?
Есть ли лучший способ добиться этого? Спасибо.