javax.naming.NoInitialContextException:无法找到InitialContextFactory com.tibco.tibjms.naming.TibjmsInitialContextFactory

时间:2018-04-28 17:52:47

标签: jms websphere adobe tibco tibco-ems

我开发了开发的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 :(得分:2)

看起来像classpath问题。您需要将tibjms.jar添加到项目类路径或应用程序服务器类路径中。您可以从tibco安装文件夹获取Jar文件,例如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.   
  3. 启动WebSphere管理控制台。
  4.   
  5. 在WebSphere导航窗格中,选择Resources&gt; JMS&gt; JMS提供商。
  6.   
  7. 在内容窗格中,单击“新建”按钮。
  8.   
  9. 为所需属性输入以下值:名称TIBCO描述TIBCO Enterprise消息服务类路径
      EMS_HOME \ lib \ tibjms.jar外部初始上下文工厂
      com.tibco.tibjms.naming.TibjmsInitialContextFactory外部提供者   URL tibjmsnaming:// localhost:7222
  10.   
  11. 单击“确定”按钮。
  12.   
  13. 单击“应用”按钮。
  14.