クラス PriorityChannel
- 実装されているすべてのインターフェース:
Aware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、ExecutorChannelInterceptorAware、QueueChannelOperations、ComponentSourceAware、ExpressionCapable、IntegrationPattern、NamedComponent、IntegrationManagement、TrackableComponent、MessageChannel、PollableChannel、InterceptableChannel
ComparatorSE に基づいてメッセージに優先順位を付けるメッセージチャネル。デフォルトのコンパレータは、メッセージヘッダーの「優先度」に基づいています。- 作成者:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan
ネストされたクラスの要約
クラス org.springframework.integration.channel.AbstractMessageChannel から継承されたネストクラス / インターフェース
AbstractMessageChannel.ChannelInterceptorListインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールドのサマリー
クラス org.springframework.integration.channel.QueueChannel から継承されたフィールド
queueSemaphoreクラス org.springframework.integration.channel.AbstractMessageChannel から継承されたフィールド
interceptors, metersクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース org.springframework.messaging.MessageChannel から継承されたフィールド
INDEFINITE_TIMEOUTコンストラクターの概要
コンストラクターコンストラクター説明無制限のキューを持つチャネルを作成します。PriorityChannel(int capacity) 指定されたキュー容量でチャネルを作成します。PriorityChannel(int capacity, @Nullable ComparatorSE<Message<?>> comparator) 指定されたキュー容量でチャネルを作成します。PriorityChannel(ComparatorSE<Message<?>> comparator) 無制限のキューを持つチャネルを作成します。PriorityChannel(MessageGroupQueue messageGroupQueue) 提供されたMessageGroupQueueに基づいてチャネルを作成します。PriorityChannel(PriorityCapableChannelMessageStore messageGroupStore, ObjectSE groupId) 提供されたPriorityCapableChannelMessageStoreとメッセージストア操作用のグループ ID に基づいてチャネルを作成します。メソッドのサマリー
クラス org.springframework.integration.channel.QueueChannel から継承されたメソッド
clear, destroy, getQueueSize, purge, registerMetricsCaptorクラス org.springframework.integration.channel.AbstractPollableChannel から継承されたメソッド
addInterceptor, addInterceptor, getIntegrationPatternType, hasExecutorInterceptors, receive, receive, removeInterceptor, removeInterceptor, setInterceptorsクラス org.springframework.integration.channel.AbstractMessageChannel から継承されたメソッド
getComponentType, getFullChannelName, getIChannelInterceptorList, getInterceptors, getMetricsCaptor, getOverrides, isApplicationRunning, isLoggingEnabled, isObserved, onInit, registerObservationRegistry, send, send, setDatatypes, setLoggingEnabled, setMessageConverter, setObservationConvention, setShouldTrackクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeインターフェース org.springframework.messaging.support.InterceptableChannel から継承されたメソッド
getInterceptorsインターフェース org.springframework.messaging.MessageChannel から継承されたメソッド
send, sendインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
PriorityChannel
public PriorityChannel()無制限のキューを持つチャネルを作成します。メッセージの優先度は、StaticMessageHeaderAccessor.getPriority(Message)の値に基づいています。PriorityChannel
public PriorityChannel(int capacity) 指定されたキュー容量でチャネルを作成します。メッセージの優先順位は、StaticMessageHeaderAccessor.getPriority(Message)の値に基づきます。- パラメーター:
capacity- キュー容量。
PriorityChannel
無制限のキューを持つチャネルを作成します。メッセージの優先度は、提供されたComparatorSE によって決定されます。コンパレーターがnullの場合、優先順位はStaticMessageHeaderAccessor.getPriority(Message)の値に基づきます。- パラメーター:
comparator- コンパレータ。
PriorityChannel
指定されたキュー容量でチャネルを作成します。容量が正の値でない場合、キューは無制限になります。メッセージの優先度は、提供されたComparatorSE によって決定されます。コンパレーターがnullの場合、優先順位はStaticMessageHeaderAccessor.getPriority(Message)の値に基づきます。- パラメーター:
capacity- 容量。comparator- コンパレータ。
PriorityChannel
提供されたPriorityCapableChannelMessageStoreとメッセージストア操作用のグループ ID に基づいてチャネルを作成します。- パラメーター:
messageGroupStore- 使用するPriorityCapableChannelMessageStore。groupId- このチャネルのメッセージをメッセージストアでグループ化します。- 導入:
- 5.0
PriorityChannel
提供されたMessageGroupQueueに基づいてチャネルを作成します。- パラメーター:
messageGroupQueue- 使用するMessageGroupQueue。- 導入:
- 5.0
メソッドの詳細
getRemainingCapacity
public int getRemainingCapacity()インターフェースからコピーされた説明:QueueChannelOperationsこのチャネルの残りの容量を取得します。- 次で指定:
- インターフェース
QueueChannelOperationsのgetRemainingCapacity - オーバーライド:
- クラス
QueueChannelのgetRemainingCapacity - 戻り値:
- このチャネルの残りの容量。
doSend
クラスからコピーされた説明:AbstractMessageChannelサブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが容量に達した場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが受け入れられるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。- オーバーライド:
- クラス
QueueChannelのdoSend - パラメーター:
message- メッセージ。timeout- タイムアウト。- 戻り値:
sendが成功した場合は true。
doReceive
クラスからコピーされた説明:AbstractPollableChannelサブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが空の場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが使用可能になるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。- オーバーライド:
- クラス
QueueChannelのdoReceive - パラメーター:
timeout- タイムアウト。- 戻り値:
- メッセージ、または null。