Я создал пакет OSGi с помощью активатора пакета и развернул его в karaf, но в karaf, если вы укажете имя службы jndi:bind-id, он не будет существовать после выключения консоли karaf, потому что он не является постоянным.
Я хочу зарегистрировать службу в OSGi, используя постоянный JNDi, то есть я могу получить доступ с помощью JNDI.
Я регистрирую службу, как указано ниже,
bundleContext.registerService(myFramework.class.getName(),FrmFactory.initFramework(ctx), null);
Context ctx = null;
try
{
ctx = new InitialContext();
ctx.bind("service/myframework", frmFactory.initFramework(ctx));
}
Пожалуйста, предложите, это правильный путь, если нет, пожалуйста, предложите, потому что я получаю исключение, поскольку
errorMessage = jndiobjectBindError, errorMessage = Не удалось привязать локальный объект в jndi. Имя объекта: service/portframework, причина = javax.naming.NotContextException: Промежуточный контекст Myfr amework не существует