Annotation Interface HandleQuery


Marks a method or constructor as a handler for query messages (MessageType.QUERY).

Query handlers are responsible for answering questions, typically by returning a computed or retrieved value. The returned result is published to the result log unless the handler is marked passive.

This annotation is a concrete specialization of HandleMessage for queries.

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.
    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

    • 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 true because stale query responses are usually no longer useful. Set to false for queries that should still be processed during replay or after the original sender timed out.

      Default:
      true
    • allowedClasses

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