クラス AbstractMethodMessageHandler<T>
- 型パラメーター:
T-HandlerMethodを受信メッセージにマッピングする情報を含むオブジェクトの型
- 実装されているすべてのインターフェース:
Aware、InitializingBean、ApplicationContextAware、MessageHandler
- 既知の直属サブクラス
SimpAnnotationMethodMessageHandler
メッセージ処理中に発生した例外を処理するための例外処理メソッドの検出と呼び出しもサポートしています。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidprotected abstract AbstractExceptionHandlerMethodResolvercreateExceptionHandlerMethodResolverFor(ClassSE<?> beanType) protected HandlerMethodcreateHandlerMethod(ObjectSE handler, MethodSE method) ハンドラーインスタンスまたは文字列ベースの Bean 名のいずれかであるオブジェクトハンドラーから HandlerMethod インスタンスを作成します。protected final voiddetectHandlerMethods(ObjectSE handler) 指定されたハンドラーにメッセージを処理できるメソッドがあるかどうかを検出し、ある場合は抽出されたマッピング情報に登録します。引数リゾルバーの完全なリストを返します。構成されたカスタム引数リゾルバーがあれば、それを返します。構成されたカスタム戻り値ハンドラーを返します(ある場合)。protected abstract StringSEgetDestination(Message<?> message) 設定されている宛先プレフィックスがある場合は、それを返します。getDirectLookupDestinations(T mapping) マッピングに含まれ、パターンではないため、直接ルックアップに適した戻り先。protected InvocableHandlerMethodgetExceptionHandlerMethod(HandlerMethod handlerMethod, ExceptionSE exception) 指定された例外の@MessageExceptionHandlerメソッドを見つけます。protected LogInvocableHandlerMethodに設定するロガーを返します。すべてのハンドラーメソッドとそのマッピングを含むマップを返します。protected StringSEgetLookupDestination(StringSE destination) (受信メッセージの)指定された宛先が構成済み宛先プレフィックスの 1 つと一致するかどうかを確認し、一致する場合は、一致したプレフィックスの後に宛先の残りの部分を返します。protected abstract ComparatorSE<T>getMappingComparator(Message<?> message) 一致するマッピングをソートするためのコンパレーターを返します。protected abstract TgetMappingForMethod(MethodSE method, ClassSE<?> handlerType) ハンドラーメソッドのマッピングを提供します。protected abstract TgetMatchingMapping(T mapping, Message<?> message) マッピングが現在のメッセージと一致するかどうかを確認し、現在のリクエストに関連する条件を含む新しいマッピングを返す可能性があります。protected LogHandlerMethodReturnValueHandlerCompositeに設定するロガーを返します。戻り値ハンドラーの完全なリストを返します。protected voidhandleMatch(T mapping, HandlerMethod handlerMethod, StringSE lookupDestination, Message<?> message) voidhandleMessage(Message<?> message) 指定されたメッセージを処理します。protected voidhandleMessageInternal(Message<?> message, StringSE lookupDestination) protected voidhandleNoMatch(SetSE<T> ts, StringSE lookupDestination, Message<?> message) protected abstract ListSE<? extends HandlerMethodArgumentResolver>使用する引数リゾルバーのリストを返します。protected abstract ListSE<? extends HandlerMethodReturnValueHandler>使用する戻り値ハンドラーのリストを返します。protected abstract boolean指定された Bean 型をメッセージング処理メソッドに対してイントロスペクトする必要があるかどうか。protected voidprocessHandlerMethodException(HandlerMethod handlerMethod, ExceptionSE exception, Message<?> message) protected voidregisterExceptionHandlerAdvice(MessagingAdviceBean bean, AbstractExceptionHandlerMethodResolver resolver) サブクラスはこのメソッドを呼び出して、MessagingAdviceBean キャッシュにデータを入力できます(例:protected voidregisterHandlerMethod(ObjectSE handler, MethodSE method, T mapping) ハンドラーメソッドとその一意のマッピングを登録します。voidsetApplicationContext(ApplicationContext applicationContext) このオブジェクトが実行される ApplicationContext を設定します。voidsetArgumentResolvers(ListSE<HandlerMethodArgumentResolver> argumentResolvers) サポートされている引数型の完全なリストを構成して、デフォルトで構成されている型を効果的にオーバーライドします。voidsetCustomArgumentResolvers(ListSE<HandlerMethodArgumentResolver> customArgumentResolvers) サポートされる引数型のリゾルバーの後に使用されるカスタムHandlerMethodArgumentResolverのリストを設定します。voidsetCustomReturnValueHandlers(ListSE<HandlerMethodReturnValueHandler> customReturnValueHandlers) 既知の型の戻り値ハンドラーの後に使用されるカスタムHandlerMethodReturnValueHandlerのリストを設定します。voidsetDestinationPrefixes(CollectionSE<StringSE> prefixes) このプロパティが設定されている場合、設定された接頭辞のいずれかに一致する宛先へのメッセージのみが処理に適しています。voidsetReturnValueHandlers(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