Annotation Interface HandleCommand


Marks a method or constructor as a handler for command messages (MessageType.COMMAND).

Command handlers typically represent intent to perform an action or change state. They often return a result, which is published to the result log unless marked passive.

This annotation is a concrete specialization of HandleMessage for commands.

See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    Restricts which payload types this handler may be invoked for.
    boolean
    If true, disables this handler during discovery.
    Determines how the handler responds when referenced protected data is no longer available.
    boolean
    If true, this handler is considered passive and will not emit a result message.
    boolean
    If true, indexed request messages whose effective timeout has already expired may be skipped before this handler is invoked.
  • Element Details

    • onMissingProtectedData

      MissingProtectedDataPolicy onMissingProtectedData
      Determines how the handler responds when referenced protected data is no longer available.
      Default:
      DEFAULT
    • disabled

      boolean disabled
      If true, disables this handler during discovery.
      Default:
      false
    • passive

      boolean passive
      If true, this handler is considered passive and will not emit a result message. Useful when the handler is for side effects only.
      Default:
      false
    • skipExpiredRequests

      boolean skipExpiredRequests
      If true, indexed request messages whose effective timeout has already expired may be skipped before this handler is invoked.

      Defaults to false so a sender-side timeout does not change command execution semantics. Enable this only for commands that are safe to drop when they are stale.

      Default:
      false
    • allowedClasses

      Class<?>[] allowedClasses
      Restricts which payload types this handler may be invoked for.
      Default:
      {}