Virtualization Transacted OneWay

Ensures that delivery of one-way messages are included as part of a transaction.

TIBCO ActiveMatrix starts a transaction, which encompasses all message processing operations—such as receiving a message and invoking operations at other providers—and also operations such as database updates (if needed). When control returns to TIBCO ActiveMatrix, the transaction either commits (for example, if the provider returns normally) or rolls back (for example, if the provider throws an exception).

At a service, this policy set ensures that the Messaging Bus receives each inbound one-way message from the transport binding within the component's open transaction. If the transaction rolls back, the message remains in the transport queue, which can redeliver the message within a subsequent transaction.

At a reference, this policy set ensures that the transport sends each outbound one-way message within the component's open transaction.

From the perspective of the service queue, if the transaction commits, delivery succeeds, and the Messaging Bus removes the message from the queue. Otherwise, if the transaction rolls back, the delivery attempt fails, and the Messaging Bus attempts to redeliver according to the parameters of this policy set. If the parameters preclude redelivery, the entire message fails, and other parameters determine message disposal.

This policy set can apply at a Virtualization binding on a service or reference, or at a SOAP binding on a promoted service or reference. However, if this policy is applied to a SOAP binding it will take effect on the virtualization proxy between the binding and the component.

Parameter Description
Max redelivery count The Messaging Bus continues to attempt delivery until either delivery succeeds, or the number of delivery attempts reaches this value. For example, with a value of 1, the Messaging Bus attempts only the initial delivery, then stops.

Zero is a special value, indicating no upper limit on redelivery.

Default: 0.

Redelivery delay interval (s) After each failed delivery attempt, the Messaging Bus waits for this interval before its next attempt.
Note: The redelivery time is not implemented exactly. The difference between the specified delay and the actual delay can be up to an additional 15 s.

Default: 15 s.

Exceptions upon which to stop redelivery If the provider throws any exception in this list, then the Messaging Bus cancels further delivery attempts (even if the maximum is not yet reached).

Default: None.

Enable error queue This parameter determines the disposal of a message when delivery fails—that is, the Messaging Bus exceeds the maximum delivery count or the service implementation throws an error that stops delivery.

When enabled, place the message on the error queue (see below).

When disabled, discard the message.

Default: Disabled.

Error queue name The Messaging Bus places failed messages on this queue (if the error queue is enabled).

Default: Create the default error queue by appending _ErrorQueue to the service queue name.