1

我使用此处JMS给出的设置在队列接收器中使用以下设置

 <property name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</property>
    <property name="java.naming.provider.url">repository/conf/jndi.properties</property>
    <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property>
    <property name="transport.jms.UserName">admin</property>

我收到以下错误

Caused by: javax.naming.NoInitialContextException: Failed to create InitialContext using factory specified in hash table. [Root exception is java.lang.ClassNotFoundException: class org.wso2.andes.jndi.PropertiesFileInitialContextFactory not found]
    at org.wso2.carbon.context.internal.CarbonContextDataHolder$CarbonInitialJNDIContextFactoryBuilder.createInitialContextFactory(CarbonContextDataHolder.java:491)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:681)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
    at javax.naming.InitialContext.init(InitialContext.java:244)
    at javax.naming.InitialContext.<init>(InitialContext.java:216)
    at org.wso2.carbon.event.output.adapter.jms.internal.util.JMSConnectionFactory.<init>(JMSConnectionFactory.java:84)

有人可以指出我正确的方向。

4

2 回答 2

1

该异常为我们提供了导致问题的重要提示。

Root exception is java.lang.ClassNotFoundException: class org.wso2.andes.jndi.PropertiesFileInitialContextFactory not found

看起来它缺少一个库。该指南提到复制包含 PropertiesFileInitialContextFactory 类的 andes-client jar。

WSO2 ESB 需要一些库来与 WSO2 消息代理进行通信。它们位于 [MB_HOME]/client-lib 文件夹中。以下库应复制到 [ESB_HOME]/repository/components/lib 文件夹。

andes-client-0.13.wso2v3

geronimo-jms_1.1_spec-1.1.0.wso2v1

于 2018-06-07T03:38:02.340 回答
0

问题已解决。请在我的博文中找到答案。

于 2018-06-17T20:39:16.170 回答