【问题标题】:How and where i can use message store and message processor in ESB?我如何以及在哪里可以在 ESB 中使用消息存储和消息处理器?
【发布时间】:2013-06-18 17:03:39
【问题描述】:

我在端口号 9443(esb1) 和 9446(esb2) 处使用了两个 WSO2 ESB 4.6 实例,还在 9444 处使用了 Message Broker 2.0.1。我正在使用此 URL 来执行我的任务:http://wso2.org/library/articles/2013/03/configuring-wso2-esb-wso2-message-broker。我已经使用上面的链接完成了队列到队列发送接收示例。一切正常。但问题是当我向 esb1 发布任何消息时,它会反映到 esb2,因为 esb2 作为我的订阅者工作。我希望消息存储应存储从 esb1 传递的消息,并根据某些事件向 esb2 提供 esb1 发送的消息。 提前致谢。 当我激活我的按摩处理器时,我不断收到此错误:

[2013-04-08 17:58:56,658] ERROR - JobRunShell Job synapse.message.processor.quartz.Processor2-forward job threw an unhan
dled Exception:
java.lang.NullPointerException
        at org.wso2.carbon.message.store.persistence.jms.util.JMSUtil.createConnection(JMSUtil.java:46)
        at org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.createConnection(JMSMessageStore.java:577)
        at org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.getReadConnection(JMSMessageStore.java:517)
        at org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.peek(JMSMessageStore.java:239)
        at org.apache.synapse.message.processors.forward.ForwardingJob.execute(ForwardingJob.java:88)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
[2013-04-08 17:58:56,669] ERROR - ErrorLogger Job (synapse.message.processor.quartz.Processor2-forward job threw an exce
ption.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.NullPointerException]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:224)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
Caused by: java.lang.NullPointerException
        at org.wso2.carbon.message.store.persistence.jms.util.JMSUtil.createConnection(JMSUtil.java:46)
        at org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.createConnection(JMSMessageStore.java:577)
        at org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.getReadConnection(JMSMessageStore.java:517)
        at org.wso2.carbon.message.store.persistence.jms.JMSMessageStore.peek(JMSMessageStore.java:239)
        at org.apache.synapse.message.processors.forward.ForwardingJob.execute(ForwardingJob.java:88)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
        ... 1 more

【问题讨论】:

    标签: jms wso2 wso2esb messagebroker


    【解决方案1】:

    您的 jndi.properties 配置中似乎存在一些问题。确保连接工厂配置有效,这似乎导致了报告的问题。在消息存储实现中,“连接工厂”参数的值默认为“QueueConnectionFactory”。如果您尝试使用不同名称指定另一个连接工厂,从配置中删除默认连接工厂 (QueueConnectionFactory),请确保在消息存储配置的适当元素中指定正确的连接工厂名称。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多