クラス QueueChannel
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.channel.AbstractPollableChannel
org.springframework.integration.channel.QueueChannel
- 実装済みのインターフェース一覧:
Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, ExecutorChannelInterceptorAware, QueueChannelOperations, ComponentSourceAware, ExpressionCapable, IntegrationPattern, NamedComponent, IntegrationManagement, TrackableComponent, MessageChannel, PollableChannel, InterceptableChannel
- 既知の直属サブクラス
PriorityChannel, RendezvousChannel
メッセージチャネルの簡単な実装。各
Message は BlockingQueueSE に配置され、その容量は構築時に指定できます。容量は正の整数値でなければなりません。SynchronousQueueSE に基づく容量ゼロのバージョンの場合は、RendezvousChannel を検討してください。- 作成者:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan
ネストされたクラスの概要
クラス AbstractMessageChannel から継承されたネストクラス / インターフェース
AbstractMessageChannel.ChannelInterceptorListインターフェース IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールド概要
フィールドクラス AbstractMessageChannel から継承されたフィールド
interceptors, metersクラス IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース MessageChannel から継承されたフィールド
INDEFINITE_TIMEOUTコンストラクター概要
コンストラクターコンストラクター説明「無制限」のキュー容量を持つチャネルを作成します。QueueChannel(int capacity) 指定されたキュー容量でチャネルを作成します。QueueChannel(QueueSE<Message<?>> queue) 指定されたキューでチャネルを作成します。方法の概要
修飾子と型メソッド説明clear()このチャネルからすべてのMessagesを削除します。voiddestroy()protected @Nullable Message<?> doReceive(long timeout) サブクラスはこのメソッドを実装する必要があります。protected booleanサブクラスはこのメソッドを実装する必要があります。intこのチャネルでキューに入れられたMessagesの現在の数を取得します。intこのチャネルの残りの容量を取得します。purge(@Nullable MessageSelector selector) 提供されたセレクターで受け入れられないMessagesをすべて削除します。voidregisterMetricsCaptor(MetricsCaptor metricsCaptor) MetricsCaptorを注入します。クラス AbstractPollableChannel から継承されたメソッド
addInterceptor, addInterceptor, getIntegrationPatternType, hasExecutorInterceptors, receive, receive, removeInterceptor, removeInterceptor, setInterceptorsクラス AbstractMessageChannel から継承されたメソッド
getComponentType, getFullChannelName, getIChannelInterceptorList, getInterceptors, getMetricsCaptor, getOverrides, isApplicationRunning, isLoggingEnabled, isObserved, onInit, registerObservationRegistry, send, send, setDatatypes, setLoggingEnabled, setMessageConverter, setObservationConvention, setShouldTrackクラス 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クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース IntegrationManagement から継承されたメソッド
getManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeインターフェース InterceptableChannel から継承されたメソッド
getInterceptorsインターフェース MessageChannel から継承されたメソッド
send, sendインターフェース NamedComponent から継承されたメソッド
getBeanName, getComponentName
フィールドの詳細
queueSemaphore
コンストラクターの詳細
QueueChannel
QueueChannel
public QueueChannel(int capacity) 指定されたキュー容量でチャネルを作成します。- パラメーター:
capacity- 容量。
QueueChannel
public QueueChannel()「無制限」のキュー容量を持つチャネルを作成します。実際の容量値はInteger.MAX_VALUESE です。制限のないキューは OutOfMemoryErrors につながる可能性があるため、制限のあるキューをお勧めします。
方法の詳細
registerMetricsCaptor
インターフェースからコピーされた説明:IntegrationManagementMetricsCaptorを注入します。ObservationRegistryが指定されている場合は無視されます。- 次で指定:
- インターフェース
IntegrationManagement内のregisterMetricsCaptor - オーバーライド:
- クラス
AbstractMessageChannelのregisterMetricsCaptor - パラメーター:
metricsCaptor- キャプター。- 関連事項:
doSend
クラスからコピーされた説明:AbstractMessageChannelサブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが容量に達した場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが受け入れられるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。- 次で指定:
- クラス
AbstractMessageChannelのdoSend - パラメーター:
message- メッセージ。timeout- タイムアウト。- 戻り値:
sendが成功した場合は true。
doReceive
クラスからコピーされた説明:AbstractPollableChannelサブクラスはこのメソッドを実装する必要があります。負でないタイムアウトは、チャネルが空の場合に待機する時間を示します(値が 0 の場合、成功の有無にかかわらずすぐに戻る必要があります)。負のタイムアウト値は、メッセージが使用可能になるか、ブロッキングスレッドが中断されるまでメソッドがブロックされることを示します。- 次で指定:
- クラス
AbstractPollableChannelのdoReceive - パラメーター:
timeout- タイムアウト。- 戻り値:
- メッセージ、または null。
clear
インターフェースからコピーされた説明:QueueChannelOperationsこのチャネルからすべてのMessagesを削除します。- 次で指定:
- インターフェース
QueueChannelOperations内のclear - 戻り値:
- 削除されたメッセージ。
purge
インターフェースからコピーされた説明:QueueChannelOperations提供されたセレクターで受け入れられないMessagesをすべて削除します。- 次で指定:
- インターフェース
QueueChannelOperations内のpurge - パラメーター:
selector- メッセージセレクター。- 戻り値:
- パージされたメッセージのリスト。
getQueueSize
public int getQueueSize()インターフェースからコピーされた説明:QueueChannelOperationsこのチャネルでキューに入れられたMessagesの現在の数を取得します。- 次で指定:
- インターフェース
QueueChannelOperations内のgetQueueSize - 戻り値:
- このチャネルでキューに入れられた
Messagesの現在の数。
getRemainingCapacity
public int getRemainingCapacity()インターフェースからコピーされた説明:QueueChannelOperationsこのチャネルの残りの容量を取得します。- 次で指定:
- インターフェース
QueueChannelOperations内のgetRemainingCapacity - 戻り値:
- このチャネルの残りの容量。
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean内のdestroy - 次で指定:
- インターフェース
IntegrationManagement内のdestroy - オーバーライド:
- クラス
AbstractMessageChannelのdestroy