クラス 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
は BlockingQueue
SE に配置され、その容量は構築時に指定できます。容量は正の整数値でなければなりません。SynchronousQueue
SE に基づく容量ゼロのバージョンの場合は、RendezvousChannel
を検討してください。- 作成者:
- 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.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
コンストラクターの概要
コンストラクターコンストラクター説明「無制限」のキュー容量を持つチャネルを作成します。QueueChannel
(int capacity) 指定されたキュー容量でチャネルを作成します。QueueChannel
(QueueSE<Message<?>> queue) 指定されたキューでチャネルを作成します。メソッドのサマリー
修飾子と型メソッド説明clear()
このチャネルからすべてのMessages
を削除します。void
destroy()
protected Message
<?> doReceive
(long timeout) サブクラスはこのメソッドを実装する必要があります。protected boolean
サブクラスはこのメソッドを実装する必要があります。int
このチャネルでキューに入れられたMessages
の現在の数を取得します。int
このチャネルの残りの容量を取得します。purge
(MessageSelector selector) 提供されたセレクターで受け入れられないMessages
をすべて削除します。void
registerMetricsCaptor
(MetricsCaptor metricsCaptor) MetricsCaptor
を注入します。クラス 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
フィールドの詳細
queueSemaphore
コンストラクターの詳細
QueueChannel
QueueChannel
public QueueChannel(int capacity) 指定されたキュー容量でチャネルを作成します。- パラメーター:
capacity
- 容量。
QueueChannel
public QueueChannel()「無制限」のキュー容量を持つチャネルを作成します。実際の容量値はInteger.MAX_VALUE
SE です。制限のないキューは OutOfMemoryErrors につながる可能性があるため、制限のあるキューをお勧めします。
メソッドの詳細
registerMetricsCaptor
インターフェースからコピーされた説明:IntegrationManagement
MetricsCaptor
を注入します。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