T - HandlerMethod を受信メッセージにマッピングする情報を含むオブジェクトの型 public abstract class AbstractMethodMessageHandler<T> extends java.lang.Object implements MessageHandler, ApplicationContextAware, InitializingBean
メッセージ処理中に発生した例外を処理するための例外処理メソッドの検出と呼び出しもサポートしています。
| コンストラクターと説明 |
|---|
AbstractMethodMessageHandler() |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | afterPropertiesSet() |
protected abstract AbstractExceptionHandlerMethodResolver | createExceptionHandlerMethodResolverFor(java.lang.Class<?> beanType) |
protected HandlerMethod | createHandlerMethod(java.lang.Object handler, java.lang.reflect.Method method) ハンドラーインスタンスまたは文字列ベースの Bean 名のいずれかであるオブジェクトハンドラーから HandlerMethod インスタンスを作成します。 |
protected void | detectHandlerMethods(java.lang.Object handler) 指定されたハンドラーにメッセージを処理できるメソッドがあるかどうかを検出し、ある場合は抽出されたマッピング情報に登録します。 |
ApplicationContext | getApplicationContext() |
java.util.List<HandlerMethodArgumentResolver> | getArgumentResolvers() 引数リゾルバーの完全なリストを返します。 |
java.util.List<HandlerMethodArgumentResolver> | getCustomArgumentResolvers() 構成されたカスタム引数リゾルバーがあれば、それを返します。 |
java.util.List<HandlerMethodReturnValueHandler> | getCustomReturnValueHandlers() 構成されたカスタム戻り値ハンドラーを返します(ある場合)。 |
protected abstract java.lang.String | getDestination(Message<?> message) |
java.util.Collection<java.lang.String> | getDestinationPrefixes() 設定されている宛先プレフィックスがある場合は、それを返します。 |
protected abstract java.util.Set<java.lang.String> | getDirectLookupDestinations(T mapping) マッピングに含まれ、パターンではないため、直接ルックアップに適した戻り先。 |
protected InvocableHandlerMethod | getExceptionHandlerMethod(HandlerMethod handlerMethod, java.lang.Exception exception) 指定された例外の @MessageExceptionHandler メソッドを見つけます。 |
protected Log | getHandlerMethodLogger()InvocableHandlerMethod に設定するロガーを返します。 |
java.util.Map<T, HandlerMethod> | getHandlerMethods() すべてのハンドラーメソッドとそのマッピングを含むマップを返します。 |
protected java.lang.String | getLookupDestination(java.lang.String destination)(受信メッセージの)指定された宛先が構成済み宛先プレフィックスの 1 つと一致するかどうかを確認し、一致する場合は、一致したプレフィックスの後に宛先の残りの部分を返します。 |
protected abstract java.util.Comparator<T> | getMappingComparator(Message<?> message) 一致するマッピングをソートするためのコンパレーターを返します。 |
protected abstract T | getMappingForMethod(java.lang.reflect.Method method, java.lang.Class<?> handlerType) ハンドラーメソッドのマッピングを提供します。 |
protected abstract T | getMatchingMapping(T mapping, Message<?> message) マッピングが現在のメッセージと一致するかどうかを確認し、現在のリクエストに関連する条件を含む新しいマッピングを返す可能性があります。 |
protected Log | getReturnValueHandlerLogger()HandlerMethodReturnValueHandlerComposite に設定するロガーを返します。 |
java.util.List<HandlerMethodReturnValueHandler> | getReturnValueHandlers() 戻り値ハンドラーの完全なリストを返します。 |
protected void | handleMatch(T mapping, HandlerMethod handlerMethod, java.lang.String lookupDestination, Message<?> message) |
void | handleMessage(Message<?> message) 指定されたメッセージを処理します。 |
protected void | handleMessageInternal(Message<?> message, java.lang.String lookupDestination) |
protected void | handleNoMatch(java.util.Set<T> ts, java.lang.String lookupDestination, Message<?> message) |
protected abstract java.util.List<? extends HandlerMethodArgumentResolver> | initArgumentResolvers() 使用する引数リゾルバーのリストを返します。 |
protected abstract java.util.List<? extends HandlerMethodReturnValueHandler> | initReturnValueHandlers() 使用する戻り値ハンドラーのリストを返します。 |
protected abstract boolean | isHandler(java.lang.Class<?> beanType) 指定された Bean 型をメッセージング処理メソッドに対してイントロスペクトする必要があるかどうか。 |
protected void | processHandlerMethodException(HandlerMethod handlerMethod, java.lang.Exception exception, Message<?> message) |
protected void | registerExceptionHandlerAdvice(MessagingAdviceBean bean, AbstractExceptionHandlerMethodResolver resolver) サブクラスはこのメソッドを呼び出して、MessagingAdviceBean キャッシュにデータを入力できます(例: |
protected void | registerHandlerMethod(java.lang.Object handler, java.lang.reflect.Method method, T mapping) ハンドラーメソッドとその一意のマッピングを登録します。 |
void | setApplicationContext(ApplicationContext applicationContext) このオブジェクトが実行される ApplicationContext を設定します。 |
void | setArgumentResolvers(java.util.List<HandlerMethodArgumentResolver> argumentResolvers) サポートされている引数型の完全なリストを構成して、デフォルトで構成されている型を効果的にオーバーライドします。 |
void | setCustomArgumentResolvers(java.util.List<HandlerMethodArgumentResolver> customArgumentResolvers) サポートされる引数型のリゾルバーの後に使用されるカスタム HandlerMethodArgumentResolver のリストを設定します。 |
void | setCustomReturnValueHandlers(java.util.List<HandlerMethodReturnValueHandler> customReturnValueHandlers) 既知の型の戻り値ハンドラーの後に使用されるカスタム HandlerMethodReturnValueHandler のリストを設定します。 |
void | setDestinationPrefixes(java.util.Collection<java.lang.String> prefixes) このプロパティが設定されている場合、設定された接頭辞のいずれかに一致する宛先へのメッセージのみが処理に適しています。 |
void | setReturnValueHandlers(java.util.List<HandlerMethodReturnValueHandler> returnValueHandlers) サポートされている戻り値型の完全なリストを構成し、デフォルトで構成されているものを効果的にオーバーライドします。 |
java.lang.String | toString() |
protected final Log logger
public void setDestinationPrefixes(@Nullable java.util.Collection<java.lang.String> prefixes)
デフォルトでは、プレフィックスは設定されていません。この場合、すべてのメッセージが処理に適格です。
public java.util.Collection<java.lang.String> getDestinationPrefixes()
public void setCustomArgumentResolvers(@Nullable java.util.List<HandlerMethodArgumentResolver> customArgumentResolvers)
HandlerMethodArgumentResolver のリストを設定します。public java.util.List<HandlerMethodArgumentResolver> getCustomArgumentResolvers()
public void setCustomReturnValueHandlers(@Nullable java.util.List<HandlerMethodReturnValueHandler> customReturnValueHandlers)
HandlerMethodReturnValueHandler のリストを設定します。public java.util.List<HandlerMethodReturnValueHandler> getCustomReturnValueHandlers()
public void setArgumentResolvers(@Nullable java.util.List<HandlerMethodArgumentResolver> argumentResolvers)
setCustomArgumentResolvers(java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver>) を使用するだけで十分です。public java.util.List<HandlerMethodArgumentResolver> getArgumentResolvers()
public void setReturnValueHandlers(@Nullable java.util.List<HandlerMethodReturnValueHandler> returnValueHandlers)
setCustomReturnValueHandlers(java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodReturnValueHandler>) を使用するだけで十分です。public java.util.List<HandlerMethodReturnValueHandler> getReturnValueHandlers()
public void setApplicationContext(@Nullable ApplicationContext applicationContext)
ApplicationContextAware 通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet() またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) および MessageSourceAware の後に呼び出されます(該当する場合)。
ApplicationContextAware 内の setApplicationContext applicationContext - このオブジェクトによって使用される ApplicationContext オブジェクト BeanInitializationException@Nullable public ApplicationContext getApplicationContext()
public void afterPropertiesSet()
InitializingBeanBeanFactoryAware、ApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean 内の afterPropertiesSet protected abstract java.util.List<? extends HandlerMethodArgumentResolver> initArgumentResolvers()
setArgumentResolvers(java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver>) を介してリゾルバーがまだ設定されていない場合にのみ呼び出されます。 サブクラスでは、setCustomArgumentResolvers(java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver>) を介して構成されたカスタム引数型も考慮する必要があります。
protected abstract java.util.List<? extends HandlerMethodReturnValueHandler> initReturnValueHandlers()
setReturnValueHandlers(java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodReturnValueHandler>) を介してまだ設定されていない場合にのみ呼び出されます。 サブクラスは、setCustomReturnValueHandlers(java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodReturnValueHandler>) を介して構成されたカスタム戻り値型も考慮する必要があります。
protected abstract boolean isHandler(java.lang.Class<?> beanType)
protected final void detectHandlerMethods(java.lang.Object handler)
handler - チェックするハンドラー、Spring Bean 名のインスタンス @Nullable protected abstract T getMappingForMethod(java.lang.reflect.Method method, java.lang.Class<?> handlerType)
method - マッピングを提供する方法 handlerType - ハンドラー型、場合によってはメソッドの宣言クラスのサブ型 null protected void registerHandlerMethod(java.lang.Object handler,
java.lang.reflect.Method method,
T mapping)handler - ハンドラーまたはハンドラーインスタンスの Bean 名 method - 登録する方法 mapping - ハンドラーメソッドに関連付けられたマッピング条件 java.lang.IllegalStateException - 別のメソッドが同じマッピングですでに登録されている場合 protected HandlerMethod createHandlerMethod(java.lang.Object handler, java.lang.reflect.Method method)
protected abstract java.util.Set<java.lang.String> getDirectLookupDestinations(T mapping)
@Nullable protected Log getReturnValueHandlerLogger()
HandlerMethodReturnValueHandlerComposite に設定するロガーを返します。@Nullable protected Log getHandlerMethodLogger()
InvocableHandlerMethod に設定するロガーを返します。protected void registerExceptionHandlerAdvice(MessagingAdviceBean bean, AbstractExceptionHandlerMethodResolver resolver)
@MessageExceptionHandler をサポートするため)。public java.util.Map<T,HandlerMethod> getHandlerMethods()
public void handleMessage(Message<?> message) throws MessagingException
MessageHandlerMessageHandler 内の handleMessage message - 処理するメッセージ MessagingException - ハンドラーがメッセージの処理に失敗した場合 @Nullable protected java.lang.String getLookupDestination(@Nullable java.lang.String destination)
一致するプレフィックスがない場合は、null を返します。
宛先プレフィックスがない場合は、宛先をそのまま返します。
protected void handleMessageInternal(Message<?> message, java.lang.String lookupDestination)
@Nullable protected abstract T getMatchingMapping(T mapping, Message<?> message)
mapping - 一致を取得するマッピング message - 処理されているメッセージ null protected void handleNoMatch(java.util.Set<T> ts, java.lang.String lookupDestination, Message<?> message)
protected abstract java.util.Comparator<T> getMappingComparator(Message<?> message)
message - 現在のメッセージ nullprotected void handleMatch(T mapping, HandlerMethod handlerMethod, java.lang.String lookupDestination, Message<?> message)
protected void processHandlerMethodException(HandlerMethod handlerMethod, java.lang.Exception exception, Message<?> message)
@Nullable protected InvocableHandlerMethod getExceptionHandlerMethod(HandlerMethod handlerMethod, java.lang.Exception exception)
@MessageExceptionHandler メソッドを見つけます。デフォルトの実装では、最初に HandlerMethod のクラス階層内のメソッドが検索され、見つからない場合は、構成された MessagingAdviceBean 内で追加の @MessageExceptionHandler メソッドの検索が続けられます (存在する場合)。handlerMethod - 例外が発生したメソッド exception - 発生した例外 nullprotected abstract AbstractExceptionHandlerMethodResolver createExceptionHandlerMethodResolverFor(java.lang.Class<?> beanType)
public java.lang.String toString()
java.lang.Object の toString