类 ApplicationListenerMethodAdapter
- java.lang.Object
- org.springframework.context.event.ApplicationListenerMethodAdapter
public class ApplicationListenerMethodAdapter extends Object implements GenericApplicationListener
GenericApplicationListener
adapter that delegates the processing of an event to anEventListener
annotated method.Delegates to
processEvent(ApplicationEvent)
to give subclasses a chance to deviate from the default. Unwraps the content of aPayloadApplicationEvent
if necessary to allow a method declaration to define any arbitrary event type. If a condition is defined, it is evaluated prior to invoking the underlying method.- 从以下版本开始:
- 4.2
- 作者:
- Stephane Nicoll, Juergen Hoeller, Sam Brannen
字段概要
从接口继承的字段 org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
构造器概要
构造器 构造器 说明 ApplicationListenerMethodAdapter(String beanName, Class<?> targetClass, Method method)
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected Object
doInvoke(Object... args)
Invoke the event listener method with the given argument values.protected String
getCondition()
Return the condition to use.protected String
getDetailedErrorMessage(Object bean, String message)
Add additional details such as the bean type and method signature to the given error message.int
getOrder()
Determine this listener's order in a set of listeners for the same event.protected Object
getTargetBean()
Return the target bean instance to use.protected void
handleAsyncError(Throwable t)
protected void
handleResult(Object result)
void
onApplicationEvent(ApplicationEvent event)
Handle an application event.void
processEvent(ApplicationEvent event)
Process the specifiedApplicationEvent
, checking if the condition matches and handling a non-null result, if any.protected Object[]
resolveArguments(ApplicationEvent event)
Resolve the method arguments to use for the specifiedApplicationEvent
.boolean
supportsEventType(ResolvableType eventType)
Determine whether this listener actually supports the given event type.boolean
supportsSourceType(Class<?> sourceType)
Determine whether this listener actually supports the given source type.String
toString()
构造器详细资料
ApplicationListenerMethodAdapter
public ApplicationListenerMethodAdapter(String beanName, Class<?> targetClass, Method method)
方法详细资料
onApplicationEvent
public void onApplicationEvent(ApplicationEvent event)
从接口复制的说明:ApplicationListener
Handle an application event.- 指定者:
onApplicationEvent
在接口中ApplicationListener<ApplicationEvent>
- 参数:
event
- the event to respond to
supportsEventType
public boolean supportsEventType(ResolvableType eventType)
从接口复制的说明:GenericApplicationListener
Determine whether this listener actually supports the given event type.- 指定者:
supportsEventType
在接口中GenericApplicationListener
- 参数:
eventType
- the event type (nevernull
)
supportsSourceType
public boolean supportsSourceType(@Nullable Class<?> sourceType)
从接口复制的说明:GenericApplicationListener
Determine whether this listener actually supports the given source type.The default implementation always returns
true
.- 指定者:
supportsSourceType
在接口中GenericApplicationListener
- 参数:
sourceType
- the source type, ornull
if no source
getOrder
public int getOrder()
从接口复制的说明:GenericApplicationListener
Determine this listener's order in a set of listeners for the same event.The default implementation returns
Ordered.LOWEST_PRECEDENCE
.- 指定者:
getOrder
在接口中GenericApplicationListener
- 指定者:
getOrder
在接口中Ordered
- 返回:
- the order value
- 另请参阅:
Ordered.HIGHEST_PRECEDENCE
,Ordered.LOWEST_PRECEDENCE
processEvent
public void processEvent(ApplicationEvent event)
Process the specifiedApplicationEvent
, checking if the condition matches and handling a non-null result, if any.
resolveArguments
@Nullable protected Object[] resolveArguments(ApplicationEvent event)
Resolve the method arguments to use for the specifiedApplicationEvent
.These arguments will be used to invoke the method handled by this instance. Can return
null
to indicate that no suitable arguments could be resolved and therefore the method should not be invoked at all for the specified event.
handleResult
protected void handleResult(Object result)
handleAsyncError
protected void handleAsyncError(Throwable t)
doInvoke
@Nullable protected Object doInvoke(Object... args)
Invoke the event listener method with the given argument values.
getTargetBean
protected Object getTargetBean()
Return the target bean instance to use.
getCondition
@Nullable protected String getCondition()
Return the condition to use.Matches the
condition
attribute of theEventListener
annotation or any matching attribute on a composed annotation that is meta-annotated with@EventListener
.
getDetailedErrorMessage
protected String getDetailedErrorMessage(Object bean, String message)
Add additional details such as the bean type and method signature to the given error message.- 参数:
message
- error message to append the HandlerMethod details to