diff --git a/collector-scheduling-management/src/main/java/com/docus/server/RedisListenerConfig.java b/collector-scheduling-management/src/main/java/com/docus/server/RedisListenerConfig.java deleted file mode 100644 index 148c918..0000000 --- a/collector-scheduling-management/src/main/java/com/docus/server/RedisListenerConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.docus.server; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.listener.ChannelTopic; -import org.springframework.data.redis.listener.RedisMessageListenerContainer; - -@Configuration -public class RedisListenerConfig { - @Autowired - private RedisConnectionFactory redisConnectionFactory; - - @Bean - public ChannelTopic expiredTopic() { - return new ChannelTopic("__keyevent@0__:expired"); // 选择0号数据库 - } - - @Bean - public RedisMessageListenerContainer redisMessageListenerContainer() { - RedisMessageListenerContainer redisMessageListenerContainer = new RedisMessageListenerContainer(); - redisMessageListenerContainer.setConnectionFactory(redisConnectionFactory); - return redisMessageListenerContainer; - } -} diff --git a/collector-scheduling-management/src/main/java/com/docus/server/common/RedisCollectorTaskKeyExpirationListener.java b/collector-scheduling-management/src/main/java/com/docus/server/common/RedisCollectorTaskKeyExpirationListener.java new file mode 100644 index 0000000..ab0057e --- /dev/null +++ b/collector-scheduling-management/src/main/java/com/docus/server/common/RedisCollectorTaskKeyExpirationListener.java @@ -0,0 +1,30 @@ +package com.docus.server.common; + +import com.docus.infrastructure.redis.listener.RedisKeyExpirationListener; +import com.docus.server.service.impl.RedisKeyExpirationService; +import org.springframework.data.redis.listener.RedisMessageListenerContainer; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +public class RedisCollectorTaskKeyExpirationListener extends RedisKeyExpirationListener { + + @Resource + private RedisKeyExpirationService redisKeyExpirationService; + + public RedisCollectorTaskKeyExpirationListener(RedisMessageListenerContainer listenerContainer) { + super(listenerContainer); + } + + @Override + protected void processExpireKey(String expireKey) { + redisKeyExpirationService.expired(expireKey); + } + + @Override + protected boolean validExpireKey(String expireKey) { + return expireKey.startsWith("schCollectorRecord:noRetryTask:expireKey:") + || expireKey.startsWith("schCollectorRecord:isRetryTask:expireKey:"); + } +} diff --git a/collector-scheduling-management/src/main/java/com/docus/server/common/RedisKeyExpirationListener.java b/collector-scheduling-management/src/main/java/com/docus/server/common/RedisKeyExpirationListener.java deleted file mode 100644 index a1d72f7..0000000 --- a/collector-scheduling-management/src/main/java/com/docus/server/common/RedisKeyExpirationListener.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.docus.server.common; - -import com.docus.server.service.impl.RedisKeyExpirationService; -import org.springframework.data.redis.connection.Message; -import org.springframework.data.redis.listener.KeyExpirationEventMessageListener; -import org.springframework.data.redis.listener.RedisMessageListenerContainer; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; - -@Component -public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { - - public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) { - super(listenerContainer); - } - - @Resource - private RedisKeyExpirationService redisKeyExpirationService; - - /** - * 开启notify-keyspace-events Ex的配置 - */ - @Override - public void onMessage(Message message, byte[] pattern) { - - String expireKey = message.toString(); - if (validExpireKey(expireKey)) { - redisKeyExpirationService.expired(expireKey); - } - } - - private boolean validExpireKey(String expireKey) { - return expireKey.startsWith("schCollectorRecord:noRetryTask:expireKey:") - || expireKey.startsWith("schCollectorRecord:isRetryTask:expireKey:"); - } -} diff --git a/collector-scheduling-management/src/main/resources/bootstrap.yml b/collector-scheduling-management/src/main/resources/bootstrap.yml index 3eb661d..5de0b5b 100644 --- a/collector-scheduling-management/src/main/resources/bootstrap.yml +++ b/collector-scheduling-management/src/main/resources/bootstrap.yml @@ -61,3 +61,6 @@ netty: file: uploadFolder: D://docus/ + +docus: + redisKeyExpiration: true