Module lettuce.core

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 for RedisClients. The extension allows to create RedisClient and RedisClusterClient instances. Client instances are provided under the same qualifiers as the RedisURI. ClientResources can be shared across multiple client instances (Standalone, Cluster) by providing a ClientResources bean with the same qualifiers as the RedisURI.

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
  • Constructor Details

    • LettuceCdiExtension

      public LettuceCdiExtension()