Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle SOA Suite
11g Release 1 (11.1.1.7)

Part Number E10224-16
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

C Deployment Descriptor Properties

This appendix describes how to define deployment descriptor configuration and partner link properties for BPEL process service components used at runtime by Oracle WebLogic Server, Oracle Enterprise Manager, or both.

This appendix includes the following sections:

For more information about deployment descriptor properties, see Chapter "Oracle BPEL Process Manager Performance Tuning" of Oracle Fusion Middleware Performance and Tuning Guide.

C.1 Introduction to Deployment Descriptor Properties

Deployment descriptors are BPEL process service component properties used at runtime by Oracle WebLogic Server, Oracle Enterprise Manager, or both. There are two types of properties:

Table C-1 lists the configuration deployment descriptor properties.

When you define configuration properties, you must add a prefix of bpel.config to the property name. For example, the property inMemoryOptimization must be defined as bpel.config.inMemoryOptimization. For information on defining properties in the Property Inspector in Oracle JDeveloper, see Section C.1.1, "How to Define Deployment Descriptor Properties in the Property Inspector."

Table C-1 Properties for the configurations Deployment Descriptors

Property Name Description

completionPersistPolicy

This property configures how the instance data is saved. It can only be set at the BPEL service component level. The following values are available:

  • on (default): The completed instance is saved normally.

  • deferred: The completed instance is saved, but with a different thread and in another transaction.

  • faulted: Only The faulted instances are saved.

    Note: When an unhandled fault occurs, regardless of these flags, audit information for instances is persisted within the cube_instance table.

  • off: No instances of this process are saved.

disableAsserts

This property, when set to true, disables assertions in BPEL projects.

globalTxMaxRetry

If using outbound adapters in an asynchronous BPEL process, specify the maximum number of retries for a remote fault.

globalTxRetryInterval

If using outbound adapters in an asynchronous BPEL process, specify the time interval in milliseconds between retries for a remote fault.

inMemoryOptimization

Default value is false. This property can only be set to true if it does not have dehydration points. Activities like wait, receive, onMessage, and onAlarm create dehydration points in the process. If this property is set to true, in-memory optimization is attempted on the instances of this process on to-spec queries.

keepGlobalVariables

Specify whether the server can keep global variable values in the instance store when the instance completes:

  • false (default): Global variable values are deleted when the instance completes.

  • true: Global variable values are not deleted.

oneWayDeliveryPolicy

This property sets the persistence policy of the process in the delivery layer. The possible values are:

  • async.persist: Messages are persisted in the database. With this setting, reliability is obtained with some performance impact on the database. In some cases, overall system performance can be impacted.

  • async.cache: Incoming delivery messages are kept only in the in-memory cache. If performance is preferred over reliability, consider this setting. When set to async.cache, if the rate at which one-way messages arrive is much higher than the rate at which they are delivered, or if the server fails, messages can be lost. In addition, the system can become overloaded (messages become backlogged in the scheduled queue) and you can receive out-of-memory errors. Consult your own use case scenarios to determine if this setting is appropriate.

    When you set oneWayDeliveryPolicy to async.cache in high availability environments, invoke and callback messages in the middle of execution at the time of a server crash may be lost or duplicated. Server failover is not supported for async.cache. For more information, see Section "Oracle BPEL Process Manager High Availability Architecture and Failover Considerations" of Oracle Fusion Middleware High Availability Guide.

  • sync: Direct invocation occurs on the same thread. The scheduling of messages in the invoke queue is bypassed, and the BPEL instance is invoked synchronously. In some cases this setting can improve database performance.

For information about setting this property during BPEL process creation, see Section 4.1.1, "How to Add a BPEL Process Service Component."

For more information, see Section "Tuning Database Persistence for BPEL" of Oracle Fusion Middleware Performance and Tuning Guide.

reenableAggregationOnComplete

This property controls the number of instances to create and use to route messages. The possible values are:

  • true: Creates a new instance to handle the messages of the same correlation.

  • false: Creates only one instance for handling messages.

For more information, see Section 9.2, "Routing Messages to the Same Instance."

sensorActionLocation

The location of the sensor action XML file. The sensor action XML file configures the action rule for the events.

sensorLocation

The location of the sensor XML file. The sensor XML file defines the list of sensors into which events are logged.

transaction

This property configures the transaction behavior of the BPEL instance for initiating calls.

  • requiresNew: A new transaction is created for the execution, and the existing transaction (if there is one) is suspended. This behavior is true for both request/response (initiating) environments and one-way, initiating environments in which bpel.config.oneWayDeliveryPolicy is set to sync.

  • required: In request/response (initiating) environments, this setting joins a caller's transaction (if there is one) or creates a new transaction (if there is no transaction). In one-way, initiating environments in which bpel.config.oneWayDeliveryPolicy is set to sync, the invoke message is processed using the same thread in the same transaction.

Note: This property does not apply for midprocess receive activities. In those cases, another thread in another transaction is used to process the message. This is because a correlation is needed and it is always done asynchronously.

For information about setting this property during BPEL process creation, see Section 4.1.1, "How to Add a BPEL Process Service Component."


Table C-2 lists the partner link binding deployment descriptor properties.

When you define partner link binding properties, you must add a prefix of bpel.partnerLink.partner_link_name to the property name. For example, the property nonBlockingInvoke must be defined as bpel.partnerLink.partner_link_name.nonBlockingInvoke. For information on defining properties in the Property Inspector in Oracle JDeveloper, see Section C.1.1, "How to Define Deployment Descriptor Properties in the Property Inspector."

Table C-2 Properties for the partnerLinkBinding Deployment Descriptors

Property Name Description

idempotent

An idempotent activity is an activity that can be retried (for example, an assign activity or an invoke activity). The instance is saved after a nonidempotent activity. This property is applicable to both durable and transient processes.

  • true (default): If the server fails, it performs the activity again after restarting. This is because the server does not dehydrate immediately after the invoke and no record exists that the activity executed.

  • false: Activity is dehydrated immediately after execution and recorded in the dehydration store. When idempotent is set to false, it provides better failover protection, but may impact performance if the BPEL process accesses the dehydration store frequently.

    For information about using fault handling with the idempotent property set to false, see Section 12.10.6, "What You May Need to Know About the idempotent Property and Fault Handling."

For more information about the idempotent property, see Section 8.4, "Managing Idempotence at the Partner Link Operation Level."

nonBlockingInvoke

Default value is false. When this is set to true, a separate thread is spawned to perform the invocation so that the invoke activity does not block the instance.

For more information, see Section 10.1.1, "What You May Need to Know About the Execution of Parallel Flow Branches in a Single Thread."

validateXML

Enables message boundary validation. When set to true, the XML message is validated against the XML schema during a receive activity and an invoke activity for this partner link. If the XML message is invalid, then a bpelx:invalidVariables runtime fault is thrown. This overrides the domain level validateXML property. The following example enables validation for only the StarLoanService partner:

<partnerLinkBinding name="StarLoanService"> 
<property name="wsdlLocation">
http://<hostname>:9700/orabpel/default/StarLoan/Sta
rLoan?wsdl</property> 
<property name="validateXML">true</property> 
</partnerLinkBinding>

C.1.1 How to Define Deployment Descriptor Properties in the Property Inspector

You define configuration and partner link binding deployment descriptor properties and values in the Property Inspector of Oracle JDeveloper. When complete, the properties are displayed in the BPEL process service component section of the composite.xml file.

  1. In the SOA Composite Editor, select the BPEL process service component, as shown in Figure C-1.

    Figure C-1 Selected BPEL Process Service Component

    Description of Figure C-1 follows
    Description of "Figure C-1 Selected BPEL Process Service Component"

  2. Go to the Property Inspector in the lower right corner of Oracle JDeveloper. If the Property Inspector is not displayed, select Property Inspector from the View main menu.

  3. In the Properties section, click the Add icon, as shown in Figure C-2.

    For this example, the oneWayDeliveryPolicy property is already defined because the Delivery option was selected in the Create BPEL Process dialog during BPEL process creation. For more information about setting this property during BPEL process creation, see Section 4.1.1, "How to Add a BPEL Process Service Component."

    Figure C-2 Property Inspector

    Description of Figure C-2 follows
    Description of "Figure C-2 Property Inspector"

    The Create Property dialog is displayed.

  4. In the Name field, enter the deployment descriptor property. For this example, the configuration deployment descriptor property inMemoryOptimization is defined. Therefore, a prefix of bpel.config is required. For more information about configuration deployment descriptor properties, see Table C-1.

    If you instead add a partner link binding property, a prefix of bpel.partnerLink.partner_link_name is required, where partner_link_name is the name of the partner link (for example, LoanService). For more information about partner link binding deployment descriptor properties, see Table C-2.

  5. In the Value field, enter an applicable value for this property (for example, true).

    Figure C-3 shows the completed Create Property dialog.

    Figure C-3 Create Property Dialog

    Description of Figure C-3 follows
    Description of "Figure C-3 Create Property Dialog"

  6. Click OK.

    The Property Inspector displays the added deployment descriptor property.

    Figure C-4 Property Inspector with Deployment Descriptor Property

    Description of Figure C-4 follows
    Description of "Figure C-4 Property Inspector with Deployment Descriptor Property"

  7. Click Source in the SOA Composite Editor.

    The inMemoryOptimization configuration property with the bpel.config prefix is displayed in the composite.xml file, as shown in Example C-1.

Example C-1 Configuration Property Definition in composite.xml

<component name="LoanApproval" version="1.1">
    <implementation.bpel src="LoanApproval.bpel"/>
    <property name="bpel.config.oneWayDeliveryPolicy" type="xs:string"
              many="false">async.persist</property>
    <property name="bpel.config.inMemoryOptimization" type="xs:string"
              many="false" override="may">true</property>
  </component>

If you instead define a partner link binding deployment descriptor property in the Property Inspector (for example, the nonBlockingInvoke partner link binding property), it is displayed in the composite.xml file, as shown in Example C-2. Note the prefix of bpel.partnerLink.partner_link_name, which is required for this type of property.

Example C-2 Partner Link Binding Property Definition in composite.xml

...
  <component name="myBPELServiceComponent">
 ....
  <property name="bpel.partnerLink.partner_link_name.
   nonBlockingInvoke">false</property>
</component>

C.1.2 How to Get the Value of a Preference within a BPEL Process

The value of a property can be read by a BPEL process using the XPath extension function ora:getPreference(myPref). This gets the value of bpel.preference.myPref.

This function can be used as part of a simple assign statement, used in condition expressions, or used as part of a more complex XPath expression.

C.2 Deprecated 10.1.3 Properties

Table C-3 lists deprecated properties that can no longer be used.

Table C-3 Deprecated Properties

Property Deployment Descriptor Type Deprecated for Release...

completionPersistLevel

configurations

11g Release 1

defaultInput

configurations

11g Release 1

initializeVariables

configurations

11g Release 1

loadSchema

configurations

11g Release 1

noAlterWSDL

configurations

11g Release 1

optimizeVariableCopy

configurations

11g Release 1

relaxTypeChecking

configurations

11g Release 1

relaxXPathQName

configurations

11g Release 1

transaction

configurations

10.1.3.4

SLACompletionTime

configurations

11g Release 1

xpathValidation

configurations

11g Release 1

user

configurations

11g Release 1

pw

configurations

11g Release 1

role

configurations

11g Release 1

correlation

partnerLinkBinding

11g Release 1

contentType

partnerLinkBinding

10.1.3

retryInterval

partnerLinkBinding

Deprecated by the fault policy feature in 10.1.3.3

retryMaxCount

partnerLinkBinding

Deprecated by the fault policy feature in 10.1.3.3

wsdlLocation

partnerLinkBinding

11g Release 1

wsdlRuntimeLocation

partnerLinkBinding

11g Release 1

wsseHeaders

partnerLinkBinding

11g Release 1

wsseUsername

partnerLinkBinding

11g Release 1

wssePassword

partnerLinkBinding

11g Release 1

preferredPort

partnerLinkBinding

11g Release 1

fullWSAddressing

partnerLinkBinding

11g Release 1