quarkusio/quarkus · error · ConfigurationException
Unable to find redis host provider identified with " + name
Error message
Unable to find redis host provider identified with " + name
What it means
findProvider(name) looks up a RedisHostsProvider bean in the Arc CDI container by the @Identifier qualifier matching the configured quarkus.redis.host-provider-name. If no bean with that identifier exists (unsatisfied injection), a ConfigurationException naming the requested provider is thrown. This happens because hosts were delegated to a programmatic provider that cannot be resolved.
Source
Thrown at extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/client/VertxRedisClientFactory.java:238
tcp.secureTransportProtocols().ifPresent(net::setEnabledSecureTransportProtocols);
tcp.trafficClass().ifPresent(net::setTrafficClass);
tcp.noDelay().ifPresent(net::setTcpNoDelay);
tcp.cork().ifPresent(net::setTcpCork);
tcp.keepAlive().ifPresent(net::setTcpKeepAlive);
tcp.fastOpen().ifPresent(net::setTcpFastOpen);
tcp.quickAck().ifPresent(net::setTcpQuickAck);
tcp.writeIdleTimeout().ifPresent(d -> net.setWriteIdleTimeout((int) d.toSeconds()));
return net;
}
public static RedisHostsProvider findProvider(String name) {
ArcContainer container = Arc.container();
InjectableInstance<RedisHostsProvider> providers;
if (name != null) {
providers = container.select(RedisHostsProvider.class, Identifier.Literal.of(name));
if (providers.isUnsatisfied()) {
throw new ConfigurationException("Unable to find redis host provider identified with " + name);
}
} else {
providers = container.select(RedisHostsProvider.class);
if (providers.isUnsatisfied()) {
throw new ConfigurationException("Unable to find redis host provider");
}
}
return providers.get();
}
private static void configureTLS(String name, RedisClientConfig config, TlsConfigurationRegistry tlsRegistry,
NetClientOptions net, List<URI> hosts) {
TlsConfiguration configuration = null;
boolean defaultTrustAll = false;
boolean tlsFromHosts = false;
for (URI uri : hosts) {View on GitHub (pinned to e1c734241f)
Solutions
- Ensure a bean implements RedisHostsProvider and is annotated with @Identifier("<the name in quarkus.redis.host-provider-name>").
- Verify the property value exactly matches the @Identifier string (case-sensitive).
- Confirm the provider class lives in a bean-archived package (annotated with a bean-defining annotation such as @ApplicationScoped).
Example fix
// before
@ApplicationScoped
public class MyHostsProvider implements RedisHostsProvider { ... }
# quarkus.redis.host-provider-name=my-provider
// after
@ApplicationScoped
@Identifier("my-provider")
public class MyHostsProvider implements RedisHostsProvider { ... } Defensive patterns
Strategy: validation
Validate before calling
String providerName = config.getOptionalValue("quarkus.redis.host-provider-name", String.class).orElse(null);
if (providerName != null && Arc.container().select(RedisHostsProvider.class, Identifier.Literal.of(providerName)).isUnsatisfied()) {
throw new IllegalStateException("No RedisHostsProvider bean with @Identifier(" + providerName + ")");
} Prevention
- Keep quarkus.redis.host-provider-name and the bean's @Identifier value in a shared constant.
- Annotate provider beans with @ApplicationScoped so they are discovered.
- Add a startup smoke test that instantiates the client in every environment.
When it happens
Trigger: At startup when quarkus.redis.host-provider-name is set to a name for which container.select(RedisHostsProvider.class, Identifier.Literal.of(name)) is unsatisfied.
Common situations: Typo in quarkus.redis.host-provider-name; provider bean missing @Identifier(name) annotation; provider bean not discovered because it is in a package not indexed/bean-defining-annotation annotated; bean annotated with a different qualifier type than @Identifier.
Related errors
- Unable to find redis host provider
- Unable to find the GrpcClientConfigProvider
- Unable to retrieve the gRPC Channel ${name}
- Quartz scheduler is either explicitly disabled through quark
- The Reactive Redis Client must be injected
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/f50af3da03c4663f.
Report an issue: GitHub.