Skip to content

Error setting redis.verify-peer to false #325

@wmunyan

Description

@wmunyan

Expected Behavior

Application should start, Redis SSL verify mode should be set to None

Actual Behaviour

Failed to inject value for parameter:

16:50:23.895 [main] ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: Failed to inject value for parameter [verifyMode] of method [setVerifyPeer] of class: io.micronaut.configuration.lettuce.DefaultRedisConfiguration

Message: Failed to inject value for parameter [verifyMode] of method [setVerifyPeer] of class: io.micronaut.configuration.lettuce.DefaultRedisConfiguration

Message: Error resolving property value [redis.verify-peer]. Property doesn't exist
Path Taken: RedisClient.redisClient(AbstractRedisConfiguration config,ClientResources defaultClientResources,List mutators) --> RedisClient.redisClient([AbstractRedisConfiguration config],ClientResources defaultClientResources,List mutators) --> DefaultRedisConfiguration.setVerifyPeer([SslVerifyMode verifyMode])
Path Taken: RedisClient.redisClient(AbstractRedisConfiguration config,ClientResources defaultClientResources,List mutators) --> RedisClient.redisClient([AbstractRedisConfiguration config],ClientResources defaultClientResources,List mutators) --> DefaultRedisConfiguration.setVerifyPeer([SslVerifyMode verifyMode])
io.micronaut.context.exceptions.DependencyInjectionException: Failed to inject value for parameter [verifyMode] of method [setVerifyPeer] of class: io.micronaut.configuration.lettuce.DefaultRedisConfiguration

Message: Failed to inject value for parameter [verifyMode] of method [setVerifyPeer] of class: io.micronaut.configuration.lettuce.DefaultRedisConfiguration

Message: Error resolving property value [redis.verify-peer]. Property doesn't exist
Path Taken: RedisClient.redisClient(AbstractRedisConfiguration config,ClientResources defaultClientResources,List mutators) --> RedisClient.redisClient([AbstractRedisConfiguration config],ClientResources defaultClientResources,List mutators) --> DefaultRedisConfiguration.setVerifyPeer([SslVerifyMode verifyMode])
Path Taken: RedisClient.redisClient(AbstractRedisConfiguration config,ClientResources defaultClientResources,List mutators) --> RedisClient.redisClient([AbstractRedisConfiguration config],ClientResources defaultClientResources,List mutators) --> DefaultRedisConfiguration.setVerifyPeer([SslVerifyMode verifyMode])
	at io.micronaut.context.exceptions.DependencyInjectionException.missingProperty(DependencyInjectionException.java:289)
	at io.micronaut.context.AbstractInitializableBeanDefinition.lambda$resolvePropertyValue$10(AbstractInitializableBeanDefinition.java:2043)
	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolvePropertyValue(AbstractInitializableBeanDefinition.java:2043)
	at io.micronaut.context.AbstractInitializableBeanDefinition.getPropertyValueForSetter(AbstractInitializableBeanDefinition.java:1086)
	at io.micronaut.configuration.lettuce.$DefaultRedisConfiguration$Definition.injectBean(Unknown Source)
	at io.micronaut.configuration.lettuce.$DefaultRedisConfiguration$Definition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2800)
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1617)
	at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:66)
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2065)
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1297)
	at io.micronaut.configuration.lettuce.$DefaultRedisClientFactory$RedisClient0$Definition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2800)
	at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:1680)
	at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:1655)
	at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:878)
	at io.micronaut.context.BeanLocator.findBean(BeanLocator.java:291)
	at io.micronaut.configuration.lettuce.RedisConnectionUtil.findRedisClient(RedisConnectionUtil.java:133)
	at io.micronaut.configuration.lettuce.RedisConnectionUtil.openBytesRedisConnection(RedisConnectionUtil.java:113)
	at io.micronaut.configuration.lettuce.cache.RedisCache.<init>(RedisCache.java:81)
	at io.micronaut.configuration.lettuce.cache.$RedisCache$Definition.build(Unknown Source)
	at io.micronaut.context.BeanDefinitionDelegate.build(BeanDefinitionDelegate.java:161)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2853)
	at io.micronaut.context.DefaultBeanContext.addCandidateToList(DefaultBeanContext.java:3511)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistrations(DefaultBeanContext.java:3457)
	at io.micronaut.context.DefaultBeanContext.getBeanRegistrations(DefaultBeanContext.java:3427)
	at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:1381)
	at io.micronaut.context.AbstractBeanResolutionContext.getBeansOfType(AbstractBeanResolutionContext.java:72)
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBeansOfType(AbstractInitializableBeanDefinition.java:2161)
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeansOfTypeForConstructorArgument(AbstractInitializableBeanDefinition.java:1437)
	at io.micronaut.cache.$DefaultCacheManager$Definition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2800)
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1617)
	at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:66)
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2065)
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1297)
	at io.micronaut.cache.interceptor.$CacheInterceptor$Definition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2853)
	at io.micronaut.context.DefaultBeanContext.addCandidateToList(DefaultBeanContext.java:3511)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistrations(DefaultBeanContext.java:3457)
	at io.micronaut.context.DefaultBeanContext.getBeanRegistrations(DefaultBeanContext.java:3427)
	at io.micronaut.context.AbstractBeanResolutionContext.getBeanRegistrations(AbstractBeanResolutionContext.java:96)
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBeanRegistrations(AbstractInitializableBeanDefinition.java:2190)
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanRegistrationsForConstructorArgument(AbstractInitializableBeanDefinition.java:1461)
	at org.hbr.svc.impl.homepage.$FeaturedService$Definition$Intercepted$Definition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2800)
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1617)
	at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:66)
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2065)
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForMethodArgument(AbstractInitializableBeanDefinition.java:1154)
	at org.hbr.svc.internal.event.$ServerStartupEventListener$Definition.injectBean(Unknown Source)
	at org.hbr.svc.internal.event.$ServerStartupEventListener$Definition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2853)
	at io.micronaut.context.DefaultBeanContext.addCandidateToList(DefaultBeanContext.java:3511)
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistrations(DefaultBeanContext.java:3457)
	at io.micronaut.context.DefaultBeanContext.getBeanRegistrations(DefaultBeanContext.java:3427)
	at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:1381)
	at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:903)
	at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:893)
	at io.micronaut.context.event.ApplicationEventPublisherFactory$2.lambda$$0(ApplicationEventPublisherFactory.java:217)
	at io.micronaut.core.util.SupplierUtil$2.initialize(SupplierUtil.java:77)
	at io.micronaut.core.util.SupplierUtil$2.get(SupplierUtil.java:72)
	at io.micronaut.context.event.ApplicationEventPublisherFactory$2.publishEvent(ApplicationEventPublisherFactory.java:229)
	at io.micronaut.http.server.netty.NettyHttpServer.fireStartupEvents(NettyHttpServer.java:580)
	at io.micronaut.http.server.netty.NettyHttpServer.start(NettyHttpServer.java:298)
	at io.micronaut.http.server.netty.NettyHttpServer.start(NettyHttpServer.java:104)
	at io.micronaut.runtime.Micronaut.lambda$start$2(Micronaut.java:81)
	at java.base/java.util.Optional.ifPresent(Optional.java:178)
	at io.micronaut.runtime.Micronaut.start(Micronaut.java:79)
	at io.micronaut.runtime.Micronaut.run(Micronaut.java:323)
	at io.micronaut.runtime.Micronaut.run(Micronaut.java:309)
	at org.hbr.Application.main(Application.groovy:30)

Process finished with exit code 1

Steps To Reproduce

config:

redis:
  uri: redis://my-redis-instance.com:6379
  ssl: true
  verify-peer: false
  timeout: 30s
  caches:
    foo:
      expire-after-write: 4h
    bar:
      expire-after-write: 4h

Environment Information

  • Windows 10
  • Java 17

Example Application

No response

Version

3.7.1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions