@@ -9,12 +9,15 @@ import org.springframework.aot.hint.annotation.RegisterReflectionForBinding
9
9
import org.springframework.context.annotation.Bean
10
10
import org.springframework.context.annotation.Configuration
11
11
import org.springframework.core.io.ClassPathResource
12
+ import org.springframework.core.task.SimpleAsyncTaskExecutor
12
13
import org.springframework.data.redis.connection.RedisConnectionFactory
13
14
import org.springframework.data.redis.core.RedisKeyValueAdapter
14
15
import org.springframework.data.redis.core.RedisTemplate
15
16
import org.springframework.data.redis.core.convert.RedisCustomConversions
16
17
import org.springframework.data.redis.core.script.RedisScript
18
+ import org.springframework.data.redis.listener.PatternTopic
17
19
import org.springframework.data.redis.listener.RedisMessageListenerContainer
20
+ import org.springframework.data.redis.listener.adapter.MessageListenerAdapter
18
21
import org.springframework.data.redis.repository.configuration.EnableRedisRepositories
19
22
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer
20
23
import org.springframework.data.redis.serializer.RedisSerializer
@@ -72,6 +75,11 @@ class RedisConfiguration {
72
75
fun redisMessageListenerContainer (connectionFactory : RedisConnectionFactory ): RedisMessageListenerContainer {
73
76
val container = RedisMessageListenerContainer ()
74
77
container.setConnectionFactory(connectionFactory)
78
+ val taskExecutor = SimpleAsyncTaskExecutor (" redisMessageListenerContainer-" )
79
+ .apply { setVirtualThreads(true ) }
80
+ container.setTaskExecutor(taskExecutor)
81
+ // https://github.com/spring-projects/spring-data-redis/issues/2425
82
+ container.addMessageListener(MessageListenerAdapter (), PatternTopic .of(" Dummy" ))
75
83
return container
76
84
}
77
85
0 commit comments