Este conteúdo não está disponível no idioma selecionado.
10.8. Attributes of an Action
The <action> element possesses the following attributes.
| Name | Description | Type | Required |
|---|---|---|---|
| name | The name of the action. This attribute is required primarily for logging purposes. | xsd:string | true |
| class | The action class must extend one of: org.jboss.soa.esb.actions.AbstractActionLifecycle, org.jboss.soa.esb.actions.ActionPipelineProcessor. | xsd:string | true |
| process | The name of the “process” method that will be reflectively called for message processing.(Default is the “process” method.) | xsd:int | false |
In a list of <action> instances within an <actions> set, the actions are called (that is, their “process” method is called) in the order that the
<action> instances appear in the <actions> set. The message returned from each <action> is used as the input message to the next <action> in the list.
Like a number of other elements/types in this model, the <action> type can also contain zero or more <property> element instances. The <property> element/type can define a standard name-value-pair, or contain free form content (xsd:any). According to the XSD, this free form content is valid as child content for the <property> element/type, no matter where it is in the configuration (on any of <provider>, <bus>, <listener> and any of their derivatives). However, it is only on <action> defined <property> instances that this free-form child content is used.
Actions are implemented via the
org.jboss.soa.esb.actions.ActionProcessor class. All implementations of this interface must contain a public constructor of the following form:
public ActionZ(org.jboss.soa.esb.helpers.ConfigTree configuration);
It is through this constructor-supplied ConfigTree instance that all of the action attributes are made available, including the free-form content from the action <property> instances. The free form content is supplied as child content on the ConfigTree instance.
Here is an example of an <actions> configuration:
<actions>
<action name="MyAction-1" class="com.acme.MyAction1"/>
<action name="MyAction-2" class="com.acme.MyAction2">
<property name="propA" value="propAVal" />
</action>
<action name="MyAction-3" class="com.acme.MyAction3">
<property name="propB" value="propBVal" />
<property name="propC">
<!-- Free form child content... -->
<some-free-form-element>zzz<some-free-form-element>
</property>
</action>
</actions>