Quality of Service features are configured from the CASA Editor, and include properties used to configure retry (redelivery) and throttling.
This section contains the following topics:
The QoS attributes are configured from the QoS Properties Editor, accessed from the Composite Application Service Assembly (CASA) Editor. For an example of how to access the QoS Properties Editor, see Using Message Throttling.
Specifies the consumer service name. Provides a list of preexisting namespaces. Click the ellipses button to open the QName Editor.
Example: ns1:http://j2ee.netbeans.org/wsdl/HL7V2InboundProject/hl7receive
Indicates the consumer endpoint name.
Specifies the provider service name. Provides a list of preexisting namespaces. Click the ellipses button to open the QName Editor.
Example: ns1:http://j2ee.netbeans.org/wsdl/HL7V2InboundProject/hl7receive
Indicates the consumer endpoint name.
Specifies the number of retries to attempt before using the On Failure option.
Example: 20
Specifies time (in milliseconds) to wait between redelivery attempts.
Example: 300
Specifies the type of action to be taken when message exchange (ME) redelivery attempts have been exhausted.
The On Failure options are:
Delete: When the final defined delivery attempt has failed, the QoS utility abandons the message exchanges (ME) and returns a Done status to the JBI component, which proceeds to its next process instance. This option is only supported for In-Only message exchanges.
Error: When the final defined delivery attempt has failed, the QoS utility returns an Error status to the JBI component, and the JBI component throws an Exception. This is the default option, and is supported for both In-Only and In-Out message exchanges.
Redirect: Similar to the Delete option, except that the QoS utility reroutes the ME to the configured redirect endpoint when the maxAttempts count has been exhausted. If the QoS utility is successful in routing the message to the redirect endpoint, a Done status is returned to the JBI component; otherwise, an Error status is returned. This option is supported for In-Only message exchanges only.
Suspend: The QoS utility returns an Error status to the JBI component if it is not able to deliver the ME to the actual provisioning endpoint. After the re-delivery attempts have been exhausted, the JBI Component suspends the process instance. This option is only supported if monitoring is enabled in the JBI Component, since the user must use the monitoring tool to resume a suspended instance. This option is supported for both In-Only and In-Out message exchanges.
Example: Delete
Specifies the maximum number of concurrent messages that can be processed on a specific connection. This number is used to set up the maximum number of concurrent messages that the internal endpoint sends to the provider endpoint.
Example: 10
Throttling allows you to set the maximum number of concurrent messages that are processed by a particular endpoint. Increased message load and large message payloads can cause memory usage spikes that can decrease performance. Throttling limits resource consumption so that consistent performance is maintained.
The HL7 Binding Component can manage the flow of messages by evaluating endpoints to determine when it is necessary to suspend requests and when to resume processing as usual.
Throttling for the HL7 Binding Component is a QoS feature configured from the CASA Editor.
From the NetBeans IDE Projects window, right-click the Service Assembly node under your composite application, and then select Edit.
The CASA Editor opens containing your composite application.
In the CASA Editor, click the QoS icon located near the HL7 WSDL port you want to configure.
The QoS Properties Editor appears.
In the QoS Properties Editor, click the property field for maximumConcurrencyLimit under ThrottlingExtension, and enter an integer for the maximum number of concurrent messages allowed for this endpoint.
Click Close.
The appropriate throttling configuration for the connection is generated in the project's jbi.xml file, when the service assembly is built.
Redelivery is a Quality of Service mechanism that handles message delivery when first-time delivery fails. Redelivery allows you to define the number of attempts that the system makes to deliver a message, the time between attempts, and the final result for an undeliverable message or nonresponsive endpoint.
Redelivery is configured for a specific connection from the Composite Application Service Assembly (CASA) Editor, by clicking the QoS icon for that connection. From the RedeliveryExtension section of the QoS Properties Editor, configure the Redelivery properties.
The Redelivery configuration parameters are:
Max Attempts: The number of times that the project attempts to re-deliver a message. An error status is returned to the JBI component for each failed attempt.
Wait Time: The time, in milliseconds, that the project waits between redelivery attempts.
On Failure: The actions taken and the message destination when the specified redelivery attempts have been exhausted. This parameter has four options: Delete, Redirect, Suspend, and Error. See the QoS Properties section for more information.
The On Failure options: Delete and Redirect, cannot be applied to In-Out message exchanges because In-Out message exchanges require a specific response from the process instance to proceed further, and as such, the return value for these options does not suffice.