quarkusio/quarkus · critical · ConfigurationException

Proxy configuration '${name}' was specified, but it does not

Error message

Proxy configuration '${name}' was specified, but it does not exist.

What it means

At build time the GraphQL client recorder resolves the proxy configuration named by clientConfig.proxyConfigurationName through the proxy configuration registry. If the registry has no entry under that name, a ConfigurationException is thrown and startup fails. The message placeholder ${name} is the configured proxy configuration name.

Source

Thrown at extensions/smallrye-graphql-client/runtime/src/main/java/io/quarkus/smallrye/graphql/client/runtime/SmallRyeGraphQLClientRecorder.java:278

                    throw new ConfigurationException("TLS configuration '" + quarkusConfig.tlsConfigurationName().get()
                            + "' was specified, but no TLS configuration registry could be found.");
                }
            }
        }
        return Optional.empty();
    }

    private Optional<ProxyConfiguration> resolveProxyConfiguration(GraphQLClientConfig clientConfig) {
        if (Arc.container() != null) {
            ProxyConfigurationRegistry proxyConfigurationRegistry = Arc.container().select(ProxyConfigurationRegistry.class)
                    .orNull();
            if (proxyConfigurationRegistry != null) {
                if (clientConfig.proxyConfigurationName().isPresent()) {
                    // explicit proxy config
                    Optional<ProxyConfiguration> namedConfig = proxyConfigurationRegistry
                            .get(clientConfig.proxyConfigurationName());
                    if (namedConfig.isEmpty()) {
                        throw new ConfigurationException("Proxy configuration '" + clientConfig.proxyConfigurationName().get()
                                + "' was specified, but it does not exist.");
                    }
                    return namedConfig;
                } else {
                    // no explicit proxy config -> get the default proxy configuration if it exists
                    return proxyConfigurationRegistry.get(Optional.empty());
                }
            } else {
                if (clientConfig.proxyConfigurationName().isPresent()) {
                    throw new ConfigurationException("Proxy configuration '" + clientConfig.proxyConfigurationName().get()
                            + "' was specified, but no Proxy configuration registry could be found.");
                }
            }
        }
        return Optional.empty();
    }

    record TlsClientInfo(String tlsConfigName, HttpClient httpClient) {

View on GitHub (pinned to e1c734241f)

Solutions

  1. Define a proxy configuration registered under exactly that name in the registry
  2. Fix or remove the proxy-configuration-name property
  3. Remove the property entirely to use the default proxy configuration (if one is registered)

Example fix

// before
quarkus.smallrye-graphql-client.my-client.proxy-configuration-name=corp-proxy
// (no proxy named corp-proxy registered)

// after — register it or use the default
quarkus.smallrye-graphql-client.my-client.proxy-configuration-name=corporate-proxy
// plus a registry entry named "corporate-proxy"
Defensive patterns

Strategy: validation

Validate before calling

// Check the property before starting clients
Optional<String> proxyName = ConfigProvider.getConfig()
        .getOptionalValue("quarkus.smallrye-graphql-client.my-client.proxy-configuration-name", String.class);
proxyName.ifPresent(n -> {
    if (!proxyRegistry.get(Optional.of(n)).isPresent()) {
        throw new IllegalStateException("Proxy configuration '" + n + "' is not registered");
    }
});

Try / catch

try {
    client.query("...").execute();
} catch (ConfigurationException e) {
    if (e.getMessage().startsWith("Proxy configuration")) {
        throw new IllegalStateException("Registered proxy names must match proxy-configuration-name", e);
    }
    throw e;
}

Prevention

When it happens

Trigger: quarkus.smallrye-graphql-client.<client>.proxy-configuration-name (or equivalent client config) is set to a name for which no proxy configuration is registered in the ProxyConfigurationRegistry.

Common situations: Typo in the proxy name; proxy defined only for another client/scope; proxy config section removed during refactor; environment-specific profiles defining the proxy in one profile but the name referenced globally.

Related errors


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/8cccd11cb84a643a. Report an issue: GitHub.