quarkusio/quarkus · error · IllegalArgumentException
ResteasyClientBuilder setter method not found: ${builderMeth
Error message
ResteasyClientBuilder setter method not found: ${builderMethodName} What it means
In Quarkus's classic REST client, unknown resteasy.* properties set via the MicroProfile Rest Client builder's property() method are applied reflectively to the underlying ResteasyClientBuilder by matching a method name derived from the property name. This error is thrown when no public method with that name and at least one parameter exists on ResteasyClientBuilder. It means the configuration property being forwarded does not correspond to any builder setter.
Source
Thrown at extensions/resteasy-classic/resteasy-client/runtime/src/main/java/io/quarkus/restclient/runtime/QuarkusRestClientBuilder.java:666
}
}
@Override
public Configuration getConfiguration() {
return getConfigurationWrapper();
}
@Override
public RestClientBuilder property(String name, Object value) {
if (name.startsWith(RESTEASY_PROPERTY_PREFIX)) {
// Makes it possible to configure some of the ResteasyClientBuilder delegate properties
String builderMethodName = name.substring(RESTEASY_PROPERTY_PREFIX.length());
Method builderMethod = Arrays.stream(ResteasyClientBuilder.class.getMethods())
.filter(m -> builderMethodName.equals(m.getName()) && m.getParameterCount() >= 1)
.findFirst()
.orElse(null);
if (builderMethod == null) {
throw new IllegalArgumentException("ResteasyClientBuilder setter method not found: " + builderMethodName);
}
Object[] arguments;
if (builderMethod.getParameterCount() > 1) {
if (value instanceof List) {
arguments = ((List<?>) value).toArray();
} else {
throw new IllegalArgumentException(
"Value must be an instance of List<> for ResteasyClientBuilder setter method: "
+ builderMethodName);
}
} else {
arguments = new Object[] { value };
}
try {
builderMethod.invoke(builderDelegate, arguments);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
throw new IllegalStateException("Unable to invoke ResteasyClientBuilder method: " + builderMethodName, e);
}View on GitHub (pinned to e1c734241f)
Solutions
- Correct the resteasy.* property name so its suffix matches a public ResteasyClientBuilder method exactly (case-sensitive)
- Check ResteasyClientBuilder's Javadoc/API for the valid setter names available in your RESTEasy version
- If the option no longer exists, remove the property or use the documented quarkus.* config equivalent
Example fix
// before
builder.property("resteasy.connectionPoolSize", 50);
// after
builder.property("resteasy.connectionPoolSize", 50); // only if method exists; otherwise:
builder.property("resteasy.maxPooledPerRoute", 50); Defensive patterns
Strategy: validation
Validate before calling
String prop = "connectionPoolSize";
boolean ok = Arrays.stream(ResteasyClientBuilder.class.getMethods())
.anyMatch(m -> m.getName().equals(prop) && m.getParameterCount() >= 1);
if (!ok) throw new IllegalArgumentException("Unknown resteasy property: " + prop); Try / catch
try {
builder.property("resteasy." + name, value);
} catch (IllegalArgumentException e) {
log.warn("Ignoring invalid resteasy property: " + e.getMessage());
} Prevention
- Only use resteasy.* property names copied verbatim from ResteasyClientBuilder method names
- Pin your Quarkus/RESTEasy version and re-check config keys after upgrades
- Prefer documented quarkus.rest-client.* keys over raw resteasy.* pass-through
When it happens
Trigger: Calling RestclientBuilder.property("resteasy.someUnknownOption", value) or setting a quarkus.rest-client.* resteasy-prefixed config key whose suffix (after 'resteasy.') does not match any public method name on ResteasyClientBuilder.
Common situations: Typos in resteasy.* config keys; copying config from another REST client version where the builder method was renamed or removed; upgrading Quarkus/RESTEasy where methods were deprecated and dropped.
Related errors
- Unable to create instance of Logging Filter ''
- The <clazz.getSimpleName()> class [<instanceClass>] could no
- Not a resolver:
- Unable to create resolver:
- Not a global provider:
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/92694da56cad36bc.
Report an issue: GitHub.