Как создать несколько InitialContext (s) в одной среде выполнения jvm? - PullRequest
0 голосов
/ 17 апреля 2020

Кто-нибудь знает, возможно ли это ???

У меня есть ситуация, когда приложение загружается с помощью Google Guice. По умолчанию он создает InitialContext, используя org.apache.camel.guice.jndi.GuiceInitialContextFactory, который похоронен в логике запуска верблюжьей шкуры c.

Я запускаю его в karaf, у которого есть свой собственный способ создания InitialContext с помощью

javax.naming.spi.NamingManager вызова org.apache.aries.jndi.OSGiInitialContextFactoryBuilder et c

Что происходит, так это , когда я вызываю InitialContext = new InitialContext () из активатора пакета, я получаю ссылку на контекст Карафа, НО , если я делаю НЕ , делаю это и просто создаю org.apache.camel.guice.Main для Запустите приложение, если org.apache.camel.guice.jndi.GuiceInitialContextFactory является видимым для загрузчика классов, оно будет правильно создавать контекст guice, запускать приложение, но я не смогу "увидеть" начальный контекст Карафа из "управляемых" классов.

Так что мне нужно иметь возможность запускать Guice с использованием GuiceInitialContextFactory, как описано выше, но также иметь возможность получить ссылку на InitialContext от kararf ... Я не слишком знаком с API для этого.

...