【发布时间】:2017-10-19 18:18:46
【问题描述】:
这是我的场景:
我在 WSO2 esb 4.8.1 中配置了一个 messageStore,如下所示:
<messageStore class="org.apache.synapse.message.store.impl.jms.JmsStore" name="JMSTest">
<parameter name="java.naming.factory.initial">org.apache.qpid.amqp_1_0.jms.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">repository/conf/jms-jndi.properties</parameter>
<parameter name="store.jms.connection.factory">JMSMS</parameter>
<parameter name="store.jms.JMSSpecVersion">1.1</parameter>
<parameter name="store.jms.destination">QUEUE</parameter>
</messageStore>
我按照这个official tutorial指示的配置连接队列。
序列第一次尝试使用此存储存储消息时,会引发错误并忽略该消息。
[JMSTest-P-1]。忽略的消息 ID:urn:uuid:414f50a0-91d2-4bdf-937b-cc283985c947 [JMSTest-P-1] 无法继续。消息生产者为空。
如果我尝试在接下来的 5 分钟内存储消息,存储将正常工作。但是在这种超时之后,如果我尝试存储消息,则会触发相同的错误。
我尝试通过在管理控制台中编辑sourceView 将store.jms.cache.connection 参数添加到false,并将transport.jms.CacheLevel 参数添加到None,但是如果我修改配置,这些参数将被删除在 MessageStore 选项卡中,因此我不认为它们真的被使用了。
您是否有想法使 messageStore 始终处于活动状态?
谢谢大家的回答
【问题讨论】:
标签: azure wso2 wso2esb azureservicebus