Databases Reference
In-Depth Information
Defining bindings on an external reference
After the component bindings, we can specify zero or more
reference
bindings,
each of which allows us to bind a fault policy to one or more external references
invoked by the composite. It contains a single attribute
faultPolicy
, which
contains the
id
of the fault policy to be used for this binding.
Within the
reference
elements, we specify one or more
name
elements. The
name
element should contain the name of a reference within the composite that we wish to
bind the fault policy to.
Binding resolution
At runtime, when a fault occurs, the fault management framework will attempt to
find a condition with a corresponding action that matches the fault.
It does this by first attempting to locate an appropriate fault policy binding by
looking for a binding in the following order:
•
•
•
Reference binding
Component binding
Composite binding
Once it finds a binding, it will check the fault policy to find a matching condition and
then execute its corresponding action. If no matching condition is found, it will then
move to the next binding level. It will continue this process until either a matching
condition is found or all binding levels have been checked.
Using MDS to hold fault policy files
Rather than create the
fault-policies.xml
and
fault-binding.xml
files in your
composite project, which then get deployed with the composite into the runtime
environment, you can actually reference files already deployed to MDS.
To reference policies deployed on MDS, we need to add the properties
oracle.
composite.faultPolicyFile
and
oracle.composite.faultBindingFile
to
the
composite.xml
file. These should be added directly after the
service
element
and reference the location of your policy and binding files in MDS, as shown in the
following code fragment:
<servicename="proxy_ep"ui:wsdlLocation="UserAccount.wsdl">
…
</service>
<propertyname="oracle.composite.faultPolicyFile">
oramds:/apps/com/rubiconred/obay/fltmgmt/fault-policies.xml