1. Managed Servers and clusters of managed servers -scalability, availability
2. Multi data sources -provides High availability, load balancing, less failover [Primary & Secondary data sources]
3. use XA data sources -rollback transaction on failovers
4. JMS queue should be set for "Delivery Failure" tab -Error Destination, Retry
5. Optimized usage of logging -Auditlevel of your processes is set to production level in production environments
6. Dehydration points (Persistence) -receive, wait, onMessage and onAlarm activities
7. a) inMemoryOptimization [When set to True, dehydration is disabled which can improve performance in some use cases]
b) completionPersistPolicy <property name="bpel.config.completionPersistPolicy">faulted <property name="bpel.config.inMemoryOptimization">true
c) auditLevel [bpel.config.auditLevel property to an appropriate value in the composite.xml file of your SOA project]
d) bpel.config.oneWayDeliveryPolicy [1. async.persist, 2. async.cache, 3. sync - database table dlv_message]
8. MDS Tuning [RedoSizeIncrease, AutoPurging of MDS Data, ReclaimingDiscSpace, "Setting MDS Cache Size and Purge Rate"]
9. Tuning Cache Configuration [MDS uses a cache to store metadata objects and related objects (such as XML content)]
10. Mediator - <property name="streamResultToTempFile">yes</property> -Large Transformation in cached into a Temp File
11. Multi Data Source
12. Use 'Singleton' property in composite.xml across all the Applications to avoide duplicacy of instances for same records
13. <property name="nonBlockingInvoke">true</property>
[This is used for 'PICK'. In case of synchronous calls it spawns a new thread, which should allow ‘the other branch’ to complete]
On weblogic console,we need to set some properties for our jms queue for retry functionality.
Just go to your jms queue and navigate to "Delivery Failure" tab for your queue.Set following parameters:-
a) Redilvery Delay Override: 10000 (10 seconds) It is the interval after which rolledback messages will be retried.
b) Redilvery Limit: 2 (Number of times failed message will be retried).
c) Expiration Policy: Redirect (or Discard, if you want to discard the message after retry) Redirect will move the message to "Error Destination" if even after configured retry parameters message is failed.
d) Error Destination: <Queue Name> Queue to which failed message will be moved after all retry attempts.
e) SyncMaxWaitTime and OnEvent
f) Timeouts -1.SyncMaxWaitTime, 2.global transaction timeout @ Weblogic Domain[JTA], 3.timeout for BPEL EJB's, 4.DISTRIBUTED_LOCK_TIMEOUT in DB, 5. XA timeout
NOTE:- DISTRIBUTED_LOCK_TIMEOUT > EJB Timeout > JTA Timeout > syncMaxWaitTime
2. Multi data sources -provides High availability, load balancing, less failover [Primary & Secondary data sources]
3. use XA data sources -rollback transaction on failovers
4. JMS queue should be set for "Delivery Failure" tab -Error Destination, Retry
5. Optimized usage of logging -Auditlevel of your processes is set to production level in production environments
6. Dehydration points (Persistence) -receive, wait, onMessage and onAlarm activities
7. a) inMemoryOptimization [When set to True, dehydration is disabled which can improve performance in some use cases]
b) completionPersistPolicy <property name="bpel.config.completionPersistPolicy">faulted <property name="bpel.config.inMemoryOptimization">true
c) auditLevel [bpel.config.auditLevel property to an appropriate value in the composite.xml file of your SOA project]
d) bpel.config.oneWayDeliveryPolicy [1. async.persist, 2. async.cache, 3. sync - database table dlv_message]
8. MDS Tuning [RedoSizeIncrease, AutoPurging of MDS Data, ReclaimingDiscSpace, "Setting MDS Cache Size and Purge Rate"]
9. Tuning Cache Configuration [MDS uses a cache to store metadata objects and related objects (such as XML content)]
10. Mediator - <property name="streamResultToTempFile">yes</property> -Large Transformation in cached into a Temp File
11. Multi Data Source
12. Use 'Singleton' property in composite.xml across all the Applications to avoide duplicacy of instances for same records
13. <property name="nonBlockingInvoke">true</property>
[This is used for 'PICK'. In case of synchronous calls it spawns a new thread, which should allow ‘the other branch’ to complete]
On weblogic console,we need to set some properties for our jms queue for retry functionality.
Just go to your jms queue and navigate to "Delivery Failure" tab for your queue.Set following parameters:-
a) Redilvery Delay Override: 10000 (10 seconds) It is the interval after which rolledback messages will be retried.
b) Redilvery Limit: 2 (Number of times failed message will be retried).
c) Expiration Policy: Redirect (or Discard, if you want to discard the message after retry) Redirect will move the message to "Error Destination" if even after configured retry parameters message is failed.
d) Error Destination: <Queue Name> Queue to which failed message will be moved after all retry attempts.
e) SyncMaxWaitTime and OnEvent
f) Timeouts -1.SyncMaxWaitTime, 2.global transaction timeout @ Weblogic Domain[JTA], 3.timeout for BPEL EJB's, 4.DISTRIBUTED_LOCK_TIMEOUT in DB, 5. XA timeout
NOTE:- DISTRIBUTED_LOCK_TIMEOUT > EJB Timeout > JTA Timeout > syncMaxWaitTime