Package io.lettuce.core.support
Class LettuceCdiExtension
- java.lang.Object
-
- io.lettuce.core.support.LettuceCdiExtension
-
- All Implemented Interfaces:
javax.enterprise.inject.spi.Extension
public class LettuceCdiExtension extends Object implements javax.enterprise.inject.spi.Extension
A portable CDI extension which registers beans for lettuce. If there are no RedisURIs there are also no registrations forRedisClients
. The extension allows to createRedisClient
andRedisClusterClient
instances. Client instances are provided under the same qualifiers as theRedisURI
.ClientResources
can be shared across multiple client instances (Standalone, Cluster) by providing aClientResources
bean with the same qualifiers as theRedisURI
.Example
public class Producers { @Produces public RedisURI redisURI() { return RedisURI.Builder.redis("localhost", 6379).build(); } @Produces public ClientResources clientResources() { return DefaultClientResources.create() } public void shutdownClientResources(@Disposes ClientResources clientResources) throws Exception { clientResources.shutdown().get(); } }
public class Consumer { @Inject private RedisClient client; @Inject private RedisClusterClient clusterClient; }
- Author:
- Mark Paluch