Annotation Interface HandleQuery
@Documented
@Retention(RUNTIME)
@Target({METHOD,CONSTRUCTOR})
@HandleMessage(QUERY)
public @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 ElementsModifier and TypeOptional ElementDescriptionClass<?>[]
Restricts which payload types this handler may be invoked for.boolean
Iftrue
, disables this handler during discovery.boolean
Iftrue
, this handler is considered passive and will not emit a result message.
-
Element Details
-
disabled
boolean disabledIftrue
, disables this handler during discovery.- Default:
false
-
passive
boolean passiveIftrue
, this handler is considered passive and will not emit a result message. Useful when the handler is for side effects only.- Default:
false
-
allowedClasses
Class<?>[] allowedClassesRestricts which payload types this handler may be invoked for.- Default:
{}
-