为什么消息采样处理器会停止探测消息?
Why do message sampling processors stop probing messages?
在我的一个 wso2 环境中,我遇到了消息采样处理器的问题,它有时会停止从队列中收集消息。
我们有大约 60 个消息处理器,通常在环境重启或部署后,其中一些会停止,并在几分钟(有时是几小时)后重新开始工作。 wso2carbon.log 中没有错误。关于这些处理器的最后日志是它们已经启动的:(
我认为这可能与此环境的某种资源限制有关,因为它只影响一个环境。
这是消息处理器及其消息存储的示例代码。
<?xml version="1.0" encoding="UTF-8"?>
<messageProcessor
class="org.apache.synapse.message.processor.impl.sampler.SamplingProcessor"
messageStore="ms_notifyOfDocumentChangeOut_getDocument"
name="mp_notifyOfDocumentChangeOut_getDocument" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="max.delivery.drop">Disabled</parameter>
<parameter name="max.delivery.attempts">4</parameter>
<parameter name="client.retry.interval">0</parameter>
<parameter name="interval">5000</parameter>
<parameter name="sequence">s_notifyOfDocumentChangeOut_queue_getDocument</parameter>
<parameter name="concurrency">1</parameter>
<parameter name="is.active">true</parameter>
</messageProcessor>
<?xml version="1.0" encoding="UTF-8"?>
<messageStore class="org.apache.synapse.message.store.impl.jms.JmsStore"
name="ms_notifyOfDocumentChangeOut_getDocument" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="store.producer.guaranteed.delivery.enable">false</parameter>
<parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="store.failover.message.store.name">ms_notifyOfDocumentChangeOut_getDocument</parameter>
<parameter name="store.jms.cache.connection">false</parameter>
<parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter>
<parameter name="store.jms.JMSSpecVersion">1.1</parameter>
<parameter name="store.jms.destination">ms_notifyOfDocumentChangeOut_getDocument</parameter>
</messageStore>
知道它需要哪些资源才能正常工作吗?
我怀疑最大线程数,但是..
猫/proc/sys/kernel/threads-max
62735
在 jms.properties 中配置 lst_t_core、lst_t_max 有效。谢谢 Jean-Michel :)
在我的一个 wso2 环境中,我遇到了消息采样处理器的问题,它有时会停止从队列中收集消息。
我们有大约 60 个消息处理器,通常在环境重启或部署后,其中一些会停止,并在几分钟(有时是几小时)后重新开始工作。 wso2carbon.log 中没有错误。关于这些处理器的最后日志是它们已经启动的:(
我认为这可能与此环境的某种资源限制有关,因为它只影响一个环境。
这是消息处理器及其消息存储的示例代码。
<?xml version="1.0" encoding="UTF-8"?>
<messageProcessor
class="org.apache.synapse.message.processor.impl.sampler.SamplingProcessor"
messageStore="ms_notifyOfDocumentChangeOut_getDocument"
name="mp_notifyOfDocumentChangeOut_getDocument" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="max.delivery.drop">Disabled</parameter>
<parameter name="max.delivery.attempts">4</parameter>
<parameter name="client.retry.interval">0</parameter>
<parameter name="interval">5000</parameter>
<parameter name="sequence">s_notifyOfDocumentChangeOut_queue_getDocument</parameter>
<parameter name="concurrency">1</parameter>
<parameter name="is.active">true</parameter>
</messageProcessor>
<?xml version="1.0" encoding="UTF-8"?>
<messageStore class="org.apache.synapse.message.store.impl.jms.JmsStore"
name="ms_notifyOfDocumentChangeOut_getDocument" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="store.producer.guaranteed.delivery.enable">false</parameter>
<parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="store.failover.message.store.name">ms_notifyOfDocumentChangeOut_getDocument</parameter>
<parameter name="store.jms.cache.connection">false</parameter>
<parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter>
<parameter name="store.jms.JMSSpecVersion">1.1</parameter>
<parameter name="store.jms.destination">ms_notifyOfDocumentChangeOut_getDocument</parameter>
</messageStore>
知道它需要哪些资源才能正常工作吗? 我怀疑最大线程数,但是..
猫/proc/sys/kernel/threads-max
62735
在 jms.properties 中配置 lst_t_core、lst_t_max 有效。谢谢 Jean-Michel :)