Package net.engio.mbassy.listener
Annotation Type Handler
-
@Retention(RUNTIME) @Inherited @Target({METHOD,ANNOTATION_TYPE}) public @interface HandlerMark any method of any class(=listener) as a message handler and configure the handler using different properties.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.StringconditionDefines a filter condition as Expression Language.InvokedeliveryDefine the mode in which a message is delivered to each listener.booleanenabledEnable or disable the handler.Filter[]filtersAdd any numbers of filters to the handler.java.lang.Class<? extends HandlerInvocation>invocationEach handler call is implemented as an invocation object that implements the invocation mechanism.intpriorityHandlers are ordered by priority and handlers with higher priority are processed before those with lower priority, i.e.booleanrejectSubtypesDefine whether or not the handler accepts sub types of the message type it declares in its signature.
-
-
-
Element Detail
-
filters
Filter[] filters
Add any numbers of filters to the handler. All filters are evaluated before the handler is actually invoked, which is only if all the filters accept the message.- Default:
- {}
-
-
-
condition
java.lang.String condition
Defines a filter condition as Expression Language. This can be used to filter the events based on attributes of the event object. Note that the expression must resolve to eithertrueto allow the event orfalseto block it from delivery to the handler. The message itself is available as "msg" variable.- Returns:
- the condition in EL syntax.
- Default:
- ""
-
-
-
delivery
Invoke delivery
Define the mode in which a message is delivered to each listener. Listeners can be notified sequentially or concurrently.- Default:
- net.engio.mbassy.listener.Invoke.Synchronously
-
-
-
invocation
java.lang.Class<? extends HandlerInvocation> invocation
Each handler call is implemented as an invocation object that implements the invocation mechanism. The basic implementation uses reflection and is the default. It is possible though to provide a custom invocation to add additional logic. Note: Providing a custom invocation will most likely reduce performance, since the JIT-Compiler can not do some of its sophisticated byte code optimizations.- Default:
- net.engio.mbassy.dispatch.ReflectiveHandlerInvocation.class
-
-