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

javax.naming.NoInitialContextException:找不到InitialContextFactory com.tibco.tibjms.naming.TibjmsInitialContextFactory,jms,websphere,adobe,tibco,tibco-ems,Jms,Websphere,Adobe,Tibco,Tibco Ems,我开发了TIBCO EMS独立客户端,该客户端在Adobe Livecycle中用于向TIBCO队列发送请求。获取以下错误 根据错误,无法加载InitialContextFactory 下面是错误快照。 java:34 env.put(Context.INITIAL_CONTEXT_FACTORY, providerContextFactory); env.put(Context.PROVIDER_URL, providerUrl); ic = new InitialContext(env);

我开发了TIBCO EMS独立客户端,该客户端在Adobe Livecycle中用于向TIBCO队列发送请求。获取以下错误

根据错误,无法加载InitialContextFactory

下面是错误快照。 java:34

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

请帮助。

看起来像是类路径问题。您需要将tibjms.jar添加到项目类路径或应用程序服务器类路径。您可以从tibco安装文件夹获得Jar文件,例如C:\tibco\ems\6.0\lib或从tibco网站下载。如果您使用的是ssl,则可能还需要tibcrypt.jar

如何将tibjms.jar添加到类路径取决于您的应用程序服务器。 对于WebSphere,本文档可能会有所帮助

请参阅以下步骤:

在本节中添加TIBCO企业消息服务作为JMS提供程序 将WebSphere配置为将TIBCO企业消息服务用作JMS 提供者

  • 启动websphereapplicationserver
  • 启动WebSphere管理控制台
  • 在WebSphere导航窗格中,选择资源>JMS>JMS提供程序
  • 在内容窗格中,单击“新建”按钮
  • 为所需属性输入以下值:名称TIBCO描述TIBCO企业消息服务类路径
    EMS\u HOME\lib\tibjms.jar外部初始上下文工厂
    com.tibco.tibjms.naming.TibjmsInitialContextFactory外部提供程序 URL tibjmsnaming://localhost:7222
  • 单击OK按钮
  • 单击应用按钮

  • 我是否应该在WebSphere Classpath.Yes中指定tibjms.jar。您需要项目类路径或Websphere类路径中的jar—您通常不想将jar添加到Websphere的类路径中。如果向WebSphere添加JMS提供程序,则可以专门为其指定类路径。这就是我们过去所做的。@dbreaux我不是WebSphere方面的专家。这份文件可能会有所帮助
    serviceLocator = ServiceLocator.getInstance(user,password, providerUrl);
    
    env.put(Context.INITIAL_CONTEXT_FACTORY, providerContextFactory);
    env.put(Context.PROVIDER_URL, providerUrl);
    ic = new InitialContext(env);