Showing posts with label Oracle SOA - Adapters. Show all posts
Showing posts with label Oracle SOA - Adapters. Show all posts

Sunday, 20 March 2011

Configurable Properties and Reference Binding for Oracle JCA adapters 11g

If you would like to know what are all the configurable properties and reference binding for oracle JCA adapters 11g

Please refer this document:

Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite
11g Release 1 (11.1.1)

Section: 33 Configuring Service and Reference Binding Components


Source: Oracle Documentation. OTN.

This included, but not limited to, configuration properties for: DB adapter, File Adapter, FTP Adapter, AQ Adapter, MQ Series Adapter, Oracle Socket Adapter, Oracle JCA Adapters Endpoint Properties.

Tuesday, 15 March 2011

Oracle SOA JMS Adapter Tuning - Number of Inbound Threads


To improve performance, the adapter.jms.receive.threads property can be tuned for an adapter service. The default value is 1, but multiple inbound threads can be used to improve performance. When specified, the value of adapter.jms.receive.threads is used to spawn multiple inbound poller threads.


For example:

<service name="dequeue" ui:wsdlLocation="dequeue.wsdl">
<interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/jms/textmessageusingqueues/textmessageusingqueues/dequeue%2F#wsdl.interface(Consume_Message_ptt)"/>
<binding.jca config="dequeue_jms.jca">
<property name="adapter.jms.receive.threads" type="xs:string" many="false">10</property>
</binding.jca">
</service>


These setting need to be done in 10g - BPEL.xml or 11g Composite.xml


In this case  there will be 10 concurrently processing threads.

How can I throttle (Frequency) inbound message flow 10g and 11g- For Adapters Like JMS, File, AQ.

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

 ...
    <activationAgents>
         <activationAgent partnerLink="JmsDequeuePL" ... >
           <property name="minimumDelayBetweenMessages">1000</property>
       </activationAgent>
    </activationAgents>
  </BPELProcess>
</BPELSuitcase>
The same setting in 11G would be configured as a binding property in the composite.xml the corresponding (inbound) <service>, e.g.
<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.