Bpel JMS队列限制使用者

Bpel JMS队列限制使用者,bpel,Bpel,爱 我有两个bpel流程。进程A将消息放入队列,进程B使用消息并执行一些工作。 我要寻找的是一种限制同时处理的消息数量的方法。因此,限制同时运行的进程B的数量 adapter.jms.receive.threads-此参数指示激活适配器端点时创建的轮询器线程数。默认值为1。每个轮询器线程都接收自己的独立处理的消息,因此允许增加吞吐量 我认为这个参数符合我的要求,但我看不出有什么不同 我要做的是测试它,将一组消息推送到队列中,并立即创建一个执行实例,而不管我在adapter.jms.receive

爱 我有两个bpel流程。进程A将消息放入队列,进程B使用消息并执行一些工作。 我要寻找的是一种限制同时处理的消息数量的方法。因此,限制同时运行的进程B的数量

adapter.jms.receive.threads-此参数指示激活适配器端点时创建的轮询器线程数。默认值为1。每个轮询器线程都接收自己的独立处理的消息,因此允许增加吞吐量

我认为这个参数符合我的要求,但我看不出有什么不同

我要做的是测试它,将一组消息推送到队列中,并立即创建一个执行实例,而不管我在adapter.jms.receive.threads中有什么值


这个属性不应该限制同时处理的请求数吗?你能想出它不起作用的原因吗?我是否缺少任何配置?是否存在兼容性问题?

您没有指定使用的确切版本,但因为您提到了“adapter.jms.receive.threads”,我假设您至少在Oracle BPEL 11g+上

如果不重写bpel.config.oneWayDeliveryPolicy属性(设置为“async.persist”)的默认值,则会发生所述行为。将组件上的bpel.config.oneWayDeliveryPolicy更改为“同步”应该可以解决您的问题

确切地说,将以下属性添加到composite.xml文件中的组件定义中:

sync