-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
status: pending-design-workNeeds design work before any code can be developedNeeds design work before any code can be developedstatus: waiting-for-triageAn issue we've not yet triagedAn issue we've not yet triaged
Description
If we use a forwarding RedisConnectionFactory
, which does not extends the LettuceConnectionFactory
, and delegate the get connection to LettuceConnectionFactory
, then the RedisMessageListenerContainer
does not work anymore. It works in 2.6.13.
public class RedisConnectionProxyFactory
implements RedisConnectionFactory, ReactiveRedisConnectionFactory {
private final LettuceConnectionFactory innerFactory;
public RedisConnectionProxyFactory(LettuceConnectionFactory factory) {
this.innerFactory = factory;
}
@Override
public RedisConnection getConnection() {
return innerFactory.getConnection();
}
}
It seems caused by this method, the isAsync() is false, so the subscribe is close immediately, and the Container stops working.
private Subscriber createSubscriber(RedisConnectionFactory connectionFactory, Executor executor) {
return ConnectionUtils.isAsync(connectionFactory) ? new Subscriber(connectionFactory)
: new BlockingSubscriber(connectionFactory, executor);
}
Metadata
Metadata
Assignees
Labels
status: pending-design-workNeeds design work before any code can be developedNeeds design work before any code can be developedstatus: waiting-for-triageAn issue we've not yet triagedAn issue we've not yet triaged