Performance Tuning Oracle Database Adapter Features

9-40 Oracle Fusion Middleware Users Guide for Technology Adapters To treat all null values as omissions, check out the IgnoreNullsMerge sample, which comes with a custom TopLink plugin. The plugin works similar to this feature, but cannot detect subtleties between null and omission. To obtain the IgnoreNullsMerge sample code, access the Oracle SOA Sample Code site, and select the Adapters tab. When you are expecting an update, you can improve performance, by omitting 1-1 and 1-M relationships. Because the merge operation can skip considering the detail records completely. Alternatively, map only those columns that you are interested in, and create separate mappings for different invokes. If two updates should update two different sets of columns, create two separate partnernlinks. Performance By default, XML is not used as an input to the Oracle Database Adapter containing omissions. Until an XML with omissions is detected, there is no performance overhead. Once omissions are detected, a TopLink descriptor event listener is added. This event listener has some overhead, and every modifyRow about to become a SQLUpdate or SQLInsert must be iterated over, to check for omissions. Hence, every column value sent to the database is checked. If the input XML has mostly omissions, then the cost overhead should be more than compensated by sending fewer values to the database. Incompatible Interactions DirectSQL=true and DetectOmissions=true - DetectOmissions takes precedence. The following are some examples for incompatible interactions: ■ DetectOmissionsMerge ■ IgnoreNullsMerge ■ OptimizeMerge See the following for more information: You can also access the forums from Oracle Technology Network at ■ The Oracle BPEL Process Manager forum at http:forums.oracle.comforumsforum.jspa?forumID=212 ■ The TopLink forum at http:forums.oracle.comforumsforum.jspa?forumID=48 This site contains over 2,000 topics, such as implementing native sequencing, optimistic locking, and JTA-managed connection pools with TopLink http:www.oracle.comtechnology Note: For migrated old BPEL project, you must re-run the Database Adapter Wizard in order to regenerate the JCA file. When you do this, the DetectOmissions and OptimizeMerge options appear in the JCA file with default values as DetectOmissions=false and OptimizeMerge=false. Oracle JCA Adapter for Database 9-41

9.3.11 OutputCompletedXml Feature

OutputCompletedXml is a feature of the outbound insert activity. The following are some of the features of the OutputCompletedXml feature: Available Since Release 10.1.2.0.2 Configurable OutputCompletedXml appears in the JCA file only when default is true. Default Value It is true when TopLink sequencing is configured to assign primary keys on insert from a database sequence, otherwise it is false. Issue You can have primary keys auto-assigned on insert from a database sequence. However, the usefulness of this feature is diminished, because insertmerge have no output message, so there is no way to tell which primary keys were assigned. Performance An output XML is provided only when the output XML would be significantly different, so if TopLink sequencing is not used, then this feature is disabled and there is no performance hit. Further, this feature can be explicitly disabled. Likewise, the original input XML is updated and returned; a completely new XML is not built. Also only a shallow update of the XML is performed; if primary keys were assigned to detail records, then these are not reflected in the output XML. Incompatible Interactions DirectSQL=true and OutputCompletedXml - OutputCompletedXml takes precedence.

9.3.12 QueryTimeout for Inbound and Outbound Transactions

You can configure QueryTimeout from the Adapter Configuration Wizard- Advanced Options page. This feature exposes the java.sql.Statement level property of the same name. Essentially, QueryTimeout allows you to configure a time-out on the call.

9.3.13 Doing Synchronous Post to BPEL Allow In-Order Delivery

In this feature, the entire invocation is in a single thread and global transaction. By default, initiation is asynchronous and the BPEL process is invoked in a separate global transaction. With Oracle Mediator, it is generally a synchronous invoke so this is only specific to an Oracle BPEL process. To enable this feature, click the Do Synchronous Post to BPEL Allow In-Order Delivery option in the Adapter Configuration Wizard - Operation page. Note: After configuring sequencing link, run the Adapter Configuration Wizard again so that the insertmerge WSDL operations can be regenerated with an output message, and WSDL property OutputCompletedXml=true.