Class 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 Detail

      • LettuceCdiExtension

        public LettuceCdiExtension()