@ManagedResource @IntegrationManagedResource public class RedisQueueInboundGateway extends MessagingGatewaySupport implements ApplicationEventPublisherAware, BeanClassLoaderAware
IntegrationManagement.ManagementOverrides
修飾子と型 | フィールドと説明 |
---|---|
static long | DEFAULT_RECEIVE_TIMEOUT |
static long | DEFAULT_RECOVERY_INTERVAL |
messagingTemplate
lifecycleCondition, lifecycleLock
EXPRESSION_PARSER, logger
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
DEFAULT_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, setShouldTrack
getPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stop
afterPropertiesSet, 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, toString
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getThisAs
getBeanName, getComponentName
public 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()
IntegrationObjectSupport
MessagingGatewaySupport
の onInit
public StringSE getComponentType()
IntegrationObjectSupport
NamedComponent
の getComponentType
MessagingGatewaySupport
の getComponentType
protected void doStart()
AbstractEndpoint
AbstractEndpoint.lifecycleLock
を保持しているときに呼び出されます。MessagingGatewaySupport
の doStart
protected void doStop(RunnableSE callback)
AbstractEndpoint
AbstractEndpoint
の doStop
callback
- 起動する Runnable。protected void doStop()
AbstractEndpoint
AbstractEndpoint.lifecycleLock
を保持しているときに呼び出されます。MessagingGatewaySupport
の doStop
public boolean isListening()
@ManagedMetric public long getQueueSize()
boundListOperations
で指定されたキューのサイズを返します。キューは Redis リストで表されます。キューが存在しない場合、0
が返されます。https://redis.io/commands/llen も参照してください @ManagedOperation public void clearQueue()
boundListOperations
で指定された Redis キューをクリアします。