类 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 sub-classes a chance to deviate from the default. Unwraps the content of aPayloadApplicationEvent
if necessary to allow 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()
Get the order value of this object.protected Object
getTargetBean()
Return the target bean instance to use.protected void
handleResult(Object result)
void
onApplicationEvent(ApplicationEvent event)
Handle an application event.void
processEvent(ApplicationEvent event)
Process the specifiedApplicationEvent
, checking if the condition match and handling 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(Class<?> sourceType)
从接口复制的说明:GenericApplicationListener
Determine whether this listener actually supports the given source type.- 指定者:
supportsSourceType
在接口中GenericApplicationListener
- 参数:
sourceType
- the source type, ornull
if no source
getOrder
public int getOrder()
从接口复制的说明:Ordered
Get the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet
load-on-startup
values).Same order values will result in arbitrary sort positions for the affected objects.
- 指定者:
getOrder
在接口中Ordered
- 返回:
- the order value
- 另请参阅:
Ordered.HIGHEST_PRECEDENCE
,Ordered.LOWEST_PRECEDENCE
processEvent
public void processEvent(ApplicationEvent event)
Process the specifiedApplicationEvent
, checking if the condition match and handling non-null result, if any.
resolveArguments
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)
doInvoke
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
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