@ManagedResource @IntegrationManagedResource public class RedisQueueInboundGateway extends MessagingGatewaySupport implements ApplicationEventPublisherAware, BeanClassLoaderAware
IntegrationManagement.ManagementOverrides| 修飾子と型 | フィールドと説明 |
|---|---|
static long | DEFAULT_RECEIVE_TIMEOUT |
static long | DEFAULT_RECOVERY_INTERVAL |
messagingTemplatelifecycleCondition, lifecycleLockEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEDEFAULT_PHASE| コンストラクターと説明 |
|---|
RedisQueueInboundGateway(StringSE queueName, RedisConnectionFactory connectionFactory) |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | clearQueue()boundListOperations で指定された Redis キューをクリアします。 |
protected void | doStart() サブクラスは、開始動作でこのメソッドを実装する必要があります。 |
protected void | doStop() サブクラスは、停止動作でこのメソッドを実装する必要があります。 |
protected void | doStop(RunnableSE callback) コンポーネントを停止し、コールバックを呼び出します。 |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
long | getQueueSize()boundListOperations で指定されたキューのサイズを返します。 |
boolean | isListening() |
protected void | onInit() サブクラスは、初期化ロジック用にこれを実装できます。 |
void | setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) |
void | setBeanClassLoader(ClassLoaderSE beanClassLoader) |
void | setExtractPayload(boolean extractPayload) |
void | setReceiveTimeout(long receiveTimeout) このタイムアウト(ミリ秒)は、 boundListOperations で指定されたキューから要素を取得するときに使用されます。 |
void | setRecoveryInterval(long recoveryInterval) |
void | setSerializer(RedisSerializer<?> serializer) |
void | setTaskExecutor(ExecutorSE taskExecutor) |
buildErrorMessage, buildSendTimer, destroy, getErrorChannel, getErrorMessageAttributes, getIntegrationPatternType, getManagedName, getManagedType, getOverrides, getReplyChannel, getRequestChannel, isLoggingEnabled, receive, receive, receiveMessage, receiveMessage, registerMetricsCaptor, registerReplyMessageCorrelatorIfNecessary, send, sendAndReceive, sendAndReceiveMessage, sendAndReceiveMessageReactive, sendTimer, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setErrorOnTimeout, setLoggingEnabled, setManagedName, setManagedType, setReplyChannel, setReplyChannelName, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestChannelName, setRequestMapper, setRequestTimeout, setShouldTrackgetPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopafterPropertiesSet, 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, waitSEgetThisAsgetBeanName, getComponentNamepublic static final long DEFAULT_RECEIVE_TIMEOUT
public static final long DEFAULT_RECOVERY_INTERVAL
public RedisQueueInboundGateway(StringSE queueName, RedisConnectionFactory connectionFactory)
queueName - 空の文字列であってはなりません connectionFactory - null であってはなりません public void setExtractPayload(boolean extractPayload)
public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
ApplicationEventPublisherAware の setApplicationEventPublisher public void setBeanClassLoader(ClassLoaderSE beanClassLoader)
BeanClassLoaderAware の setBeanClassLoader public void setSerializer(RedisSerializer<?> serializer)
public void setReceiveTimeout(long receiveTimeout)
boundListOperations で指定されたキューから要素を取得するときに使用されます。キューに要素が含まれている場合、データはすぐに取得されます。ただし、キューが空の場合、要素をキューから取得できるか、指定されたタイムアウトが経過するまで、Redis 接続はブロックされます。
ゼロのタイムアウトは、無期限にブロックするために使用できます。明示的に設定されていない場合、タイムアウト値はデフォルトで 1000 になります
関連事項: https://redis.io/commands/brpop
receiveTimeout - 負でない必要があります。ミリ秒で指定されます。public void setTaskExecutor(ExecutorSE taskExecutor)
public void setRecoveryInterval(long recoveryInterval)
protected void onInit()
IntegrationObjectSupportMessagingGatewaySupport の onInit public StringSE getComponentType()
IntegrationObjectSupportNamedComponent の getComponentType MessagingGatewaySupport の getComponentType protected void doStart()
AbstractEndpointAbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。MessagingGatewaySupport の doStart protected void doStop(RunnableSE callback)
AbstractEndpointAbstractEndpoint の doStop callback - 起動する Runnable。protected void doStop()
AbstractEndpointAbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。MessagingGatewaySupport の doStop public boolean isListening()
@ManagedMetric public long getQueueSize()
boundListOperations で指定されたキューのサイズを返します。キューは Redis リストで表されます。キューが存在しない場合、0 が返されます。https://redis.io/commands/llen も参照してください @ManagedOperation public void clearQueue()
boundListOperations で指定された Redis キューをクリアします。