There is an activation agent (bpel.xml) property (since 10.1.3.1), which can be used to control the speed at which the adapter posts messages to BPEL
Note: This setting pertains only to BPEL, and only to one adapter polling thread. If multiple adapter polling threads (e.g. multiple JMS dequeuer threads) have been configured, this setting will control the speed of each thread, not the combined speed.
...The same setting in 11G would be configured as a binding property in the composite.xml the corresponding (inbound) <service>, e.g.
<activationAgents>
<activationAgent partnerLink="JmsDequeuePL" ... >
<property name="minimumDelayBetweenMessages">1000</property>
</activationAgent>
</activationAgents>
</BPELProcess>
</BPELSuitcase>
<service name="Inbound">
<interface.wsdl interface="http://xmlns.oracle.com/pcbpel/demo1#wsdl.interface(SampleInbound_PortType)"/>
<binding.jca config="Dequeue_jms.jca">
<property name="minimumDelayBetweenMessages">1000</property>
</binding.jca>
</service
This setting ensures that there at least will be 1000 milli seconds delay between two consecutive messages being posted to the BPEL process.
Note: This setting pertains only to BPEL, and only to one adapter polling thread. If multiple adapter polling threads (e.g. multiple JMS dequeuer threads) have been configured, this setting will control the speed of each thread, not the combined speed.
does this work for DBAdapter??
ReplyDeleteHi Swapnil,
DeleteSorry for the delay in response. My response is in assumption that you are using 11g version and above.
IS "Database Rows per Transaction" option not helping you?
Doc Reference:
http://docs.oracle.com/cd/E14571_01/integration.1111/e10231/adptr_db.htm#BGBBHJGC
there are some other options available as well.
Please follow Oracle Forums Thread link:
https://forums.oracle.com/forums/thread.jspa?threadID=2162184
Hope this helps.
Regards,
Arun.
Hi Arun ,
ReplyDeleteWe are using 11g but unforutnately it's not working in cluster environment .Do we need to configure additional properties in addition to the message delay
Hi Nagakiran,
ReplyDeleteI believe you issue is purely due to the fact that it is a cluster. I don't know what your use case is but guessing that because the DB adapters on the different managed servers are polling the DB, you might think that this is not working. as there are number of DB adapter polling the data base at the same time and the time interval between the different DB adapters is what is probably causing the issue.
If you could write more about your use case and what is really happening, I might be able to help.
I came across this blog which has much more advise about DB polling.
http://www.avioconsulting.com/blog/oracle-soa-database-adapter-polling-cluster-handy-logical-delete-pattern
Hope this helps.
Hi Arun,
ReplyDeletehow can we control the message dequeue in MQ adapter. I did tried the above property and look like its not woking.
This blog gives very important info ,
ReplyDeleteOracle SOA Online Training