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