javax.naming.NoInitialContextException: невозможно найти InitialContextFactory com.tibco.tibjms.naming.TibjmsInitialContextFactory - PullRequest
0 голосов
/ 28 апреля 2018

Я разработал автономный клиент TIBCO EMS, который используется в Adobe Livecycle для отправки запросов в очередь Tibco. Получение ошибки ниже.

Исходя из ошибки, не удалось загрузить InitialContextFactory.

Снимок ошибки ниже.

javax.naming.NoInitialContextException: Unable to find the InitialContextFactory com.tibco.tibjms.naming.TibjmsInitialContextFactory.
org.apache.aries.jndi.ContextHelper.getInitialContext(ContextHelper.java:149)
org.apache.aries.jndi.OSGiInitialContextFactoryBuilder.getInitialContext(OSGiInitialContextFactoryBuilder.java:50)
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:696)
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:319)
javax.naming.InitialContext.init(InitialContext.java:254)
javax.naming.InitialContext.<init>(InitialContext.java:228)
com.citigroup.gsu.edelivery.engine.utils.TibcoEMS.ServiceLocator.getInstance(ServiceLocator.java:34)
com.citigroup.gsu.edelivery.engine.utils.TibcoEMS.TibcoEMSClient.SendTibcoEMSMessage(TibcoEMSClient.java:36)

Подробности кода ниже.

TibcoEMSClient.java: 36

serviceLocator = ServiceLocator.getInstance(user,password, providerUrl);

ServiceLocator.java: 34

env.put(Context.INITIAL_CONTEXT_FACTORY, providerContextFactory);
env.put(Context.PROVIDER_URL, providerUrl);
ic = new InitialContext(env);

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 28 апреля 2018

Похоже, проблема с classpath. Вам нужно добавить tibjms.jar в путь к классам вашего проекта или в путь к классам сервера приложений. Файл Jar, который вы можете получить из папки установки tibco, например, C: \ tibco \ ems \ 6.0 \ lib, или загрузить с веб-сайта tibco. Если вы используете ssl, вам также может понадобиться tibcrypt.jar

Как добавить tibjms.jar в classpath, зависит от вашего сервера приложений. Для WebSphere этот документ может помочь https://docs.tibco.com/pub/enterprise_message_service/6.0.1_january_2011/html/tib_ems_integration_guide/wwhelp/wwhimpl/common/html/wwhelp.htm#href=appint.5.17.htm&single=true

Пожалуйста, смотрите шаги:

Добавить TIBCO Enterprise Message Service в качестве JMS-провайдера. Этот раздел настраивает WebSphere для использования TIBCO Enterprise Message Service в качестве JMS провайдер.

  1. Запустите сервер приложений WebSphere.
  2. Запустите консоль администрирования WebSphere.
  3. В области навигации WebSphere выберите Ресурсы> JMS> Поставщики JMS.
  4. На панели содержимого нажмите кнопку Создать.
  5. Введите следующие значения для обязательных свойств: Имя TIBCO Описание TIBCO Enterprise Message Service Classpath
    EMS_HOME \ lib \ tibjms.jar Фабрика внешнего начального контекста
    com.tibco.tibjms.naming.TibjmsInitialContextFactory Внешний поставщик URL tibjmsnaming: // localhost: 7222
  6. Нажмите кнопку ОК.
  7. Нажмите кнопку Применить.
...