我开发了开发的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);
请帮忙。
答案 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 提供商。
- 启动WebSphere应用程序服务器。
- 启动WebSphere管理控制台。
- 在WebSphere导航窗格中,选择Resources&gt; JMS&gt; JMS提供商。
- 在内容窗格中,单击“新建”按钮。
- 为所需属性输入以下值:名称TIBCO描述TIBCO Enterprise消息服务类路径
EMS_HOME \ lib \ tibjms.jar外部初始上下文工厂
com.tibco.tibjms.naming.TibjmsInitialContextFactory外部提供者 URL tibjmsnaming:// localhost:7222- 单击“确定”按钮。
- 单击“应用”按钮。
醇>