public class QueueChannel extends AbstractPollableChannel implements QueueChannelOperations
Message は BlockingQueueSE に配置され、その容量は構築時に指定できます。容量は正の整数値でなければなりません。SynchronousQueueSE に基づく容量ゼロのバージョンの場合は、RendezvousChannel を検討してください。AbstractMessageChannel.ChannelInterceptorListIntegrationManagement.ManagementOverrides| 修飾子と型 | フィールドと説明 |
|---|---|
protected SemaphoreSE | queueSemaphore |
interceptors, metersEXPRESSION_PARSER, loggerINDEFINITE_TIMEOUTMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
QueueChannel()「無制限」のキュー容量を持つチャネルを作成します。 |
QueueChannel(int capacity) 指定されたキュー容量でチャネルを作成します。 |
QueueChannel(QueueSE<Message<?>> queue) 指定されたキューでチャネルを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
ListSE<Message<?>> | clear() このチャネルからすべての Messages を削除します。 |
void | destroy() |
protected Message<?> | doReceive(long timeout) サブクラスはこのメソッドを実装する必要があります。 |
protected boolean | doSend(Message<?> message, long timeout) サブクラスはこのメソッドを実装する必要があります。 |
int | getQueueSize() このチャネルでキューに入れられた Messages の現在の数を取得します。 |
int | getRemainingCapacity() このチャネルの残りの容量を取得します。 |
ListSE<Message<?>> | purge(MessageSelector selector) 提供されたセレクターで受け入れられない Messages をすべて削除します。 |
void | registerMetricsCaptor(MetricsCaptor metricsCaptor)MetricsCaptor を注入する |
addInterceptor, addInterceptor, getIntegrationPatternType, hasExecutorInterceptors, receive, receive, removeInterceptor, removeInterceptor, setInterceptorsgetComponentType, getFullChannelName, getIChannelInterceptorList, getInterceptors, getMetricsCaptor, getOverrides, isLoggingEnabled, onInit, send, send, setDatatypes, setLoggingEnabled, setMessageConverter, setShouldTrackafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEsend, sendgetInterceptorsgetManagedName, getManagedType, getThisAs, setManagedName, setManagedTypegetBeanName, getComponentNameprotected final SemaphoreSE queueSemaphore
public QueueChannel(QueueSE<Message<?>> queue)
queue - 待ち行列。public QueueChannel(int capacity)
capacity - 容量。public QueueChannel()
Integer.MAX_VALUESE です。制限のないキューは OutOfMemoryErrors につながる可能性があるため、制限のあるキューをお勧めします。public void registerMetricsCaptor(MetricsCaptor metricsCaptor)
IntegrationManagementMetricsCaptor を注入する IntegrationManagement 内の registerMetricsCaptor AbstractMessageChannel の registerMetricsCaptor metricsCaptor - キャプター。protected boolean doSend(Message<?> message, long timeout)
AbstractMessageChannelAbstractMessageChannel の doSend message - メッセージ。timeout - タイムアウト。@Nullable protected Message<?> doReceive(long timeout)
AbstractPollableChannelAbstractPollableChannel の doReceive timeout - タイムアウト。public ListSE<Message<?>> clear()
QueueChannelOperationsMessages を削除します。QueueChannelOperations 内の clear public ListSE<Message<?>> purge(@Nullable MessageSelector selector)
QueueChannelOperationsMessages をすべて削除します。QueueChannelOperations 内の purge selector - メッセージセレクター。public int getQueueSize()
QueueChannelOperationsMessages の現在の数を取得します。QueueChannelOperations 内の getQueueSize Messages の現在の数。public int getRemainingCapacity()
QueueChannelOperationsQueueChannelOperations 内の getRemainingCapacity public void destroy()
DisposableBean 内の destroy IntegrationManagement 内の destroy AbstractMessageChannel の destroy