Interface SynchronizationVetoable

All Superinterfaces:
Synchronization

public interface SynchronizationVetoable extends Synchronization
A vetoable Synchronization.

When using Synchronization they are normally executed when the Exchange complete at the end. If the Exchange is processed asynchronously the Synchronization will be handed over to the next thread. This ensures for example the file consumer will delete the processed file at the very end, when the Exchange has been completed successfully.

However there may be situations where you do not want to handover certain Synchronization, such as when doing asynchronously request/reply over SEDA or VM endpoints.

  • Method Details

    • allowHandover

      boolean allowHandover()
      Whether or not handover this synchronization is allowed.

      For example when an Exchange is being routed from one thread to another thread, such as using request/reply over SEDA

      Returns:
      true to allow handover, false to deny.
    • beforeHandover

      void beforeHandover(Exchange target)
      A method to perform optional housekeeping when a Synchronization is being handed over.
      Parameters:
      target - The Exchange to which the synchronizations are being transferred.