For such a simple BPEL process, are there any optimization that can be done for performance?
The answer is yes. And the low hanging fruits can be picked from layer between the inbound JMSAdapter and BPEL process.
Just open up the WSDL file of the inbound adapter. You will notice something like the following:
Notice there is only an INPUT tag but no OUTPUTinteraction patterns between the caller and the BPEL process that Oracle BPEL supports. of have separate threads to send and process the message
<BPELProcess id="ProcessFulfillmentOrderBillingBRMCommsAddSubProcess" src="ProcessFulfillmentOrderBillingBRMCommsAddSubProcess.bpel">
<property name="deliveryPersistPolicy" encryption="plaintext">off.immediate</property>