如何为WSO2提供使用消息的时间间隔

如何为WSO2提供使用消息的时间间隔,wso2,activemq,Wso2,Activemq,我需要将wso2配置为以activemq的时间间隔逐个使用消息。有没有一种方法可以在给定的时间内仅使用一条消息 当activemq上有许多消息时,WSO2将使用所有消息并调用后端服务。后端服务不处理所有传入消息 我创建了一个jms入站端点和一个代理服务,但没有找到属性或方法 入站端点: <?xml version="1.0" encoding="UTF-8"?> <inboundEndpoint xmlns="http://ws.apache.org/ns/synaps

我需要将wso2配置为以activemq的时间间隔逐个使用消息。有没有一种方法可以在给定的时间内仅使用一条消息

当activemq上有许多消息时,WSO2将使用所有消息并调用后端服务。后端服务不处理所有传入消息

我创建了一个jms入站端点和一个代理服务,但没有找到属性或方法

入站端点:

    <?xml version="1.0" encoding="UTF-8"?>
<inboundEndpoint xmlns="http://ws.apache.org/ns/synapse"
                 name="activemqDeneme"
                 sequence="esb-QueueSQ"
                 onError="conf:/sequences/esb.faultSQ.xml"
                 protocol="jms"
                 suspend="false">
   <parameters>
      <parameter name="interval">60000</parameter>
      <parameter name="sequential">false</parameter>
      <parameter name="coordination">true</parameter>
      <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
      <parameter name="java.naming.provider.url">tcp://localhost:6052</parameter>
      <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
      <parameter name="transport.jms.ConnectionFactoryType">queue</parameter>
      <parameter name="transport.jms.Destination">queue_request</parameter>
      <parameter name="transport.jms.SessionTransacted">false</parameter>
      <parameter name="transport.jms.SessionAcknowledgement">AUTO_ACKNOWLEDGE</parameter>
      <parameter name="transport.jms.CacheLevel">3</parameter>
      <parameter name="transport.jms.SubscriptionDurable">false</parameter>
      <parameter name="transport.jms.ContentType">application/json</parameter>
      <parameter name="transport.jms.SharedSubscription">false</parameter>
   </parameters>
</inboundEndpoint>

60000
假的
真的
org.apache.activemq.jndi.ActiveMQInitialContextFactory
tcp://localhost:6052
队列连接工厂
队列
队列请求
假的
自动应答
3.
假的
应用程序/json
假的
代理服务:


队列请求
内容类型
应用程序/json
您是否尝试过使用

  <parameter name="sequential">true</parameter>
true

当设置为false时,它可能会并行地消耗它们。之后,您的序列也需要是连续的。

我尝试过,但它仍然会消耗很多消息,比如每秒6条消息。也许它是按顺序消费的,但我需要的是它应该在一秒钟内消费一条消息。那么我猜序列“esb QueueSQ”不是按顺序的(例如,它是否执行调用,在本例中,您可以尝试添加一个参数blocking=“true”)?谢谢nicolas。有一个没有bloking=“true”的电话。
  <parameter name="sequential">true</parameter>