eclipse-vertx/vert.x · error · IllegalArgumentException

multiplexingLimit must be > 0 or -1 (disabled)

Error message

multiplexingLimit must be > 0 or -1 (disabled)

What it means

Configuration validation in Http2ClientConfig.setMultiplexingLimit: the limit on concurrent HTTP/2 streams per connection must be a positive number or -1 (sentinel meaning 'use the server's initial SETTINGS value'). Any other negative value is rejected as meaningless.

Source

Thrown at vertx-core/src/main/java/io/vertx/core/http/Http2ClientConfig.java:79

   */
  public int getMultiplexingLimit() {
    return multiplexingLimit;
  }

  /**
   * Set a client limit of the number concurrent streams for each HTTP/2 connection, this limits the number
   * of streams the client can create for a connection. The effective number of streams for a
   * connection is the min of this value and the server's initial settings.
   * <p/>
   * Setting the value to {@code -1} means to use the value sent by the server's initial settings.
   * {@code -1} is the default value.
   *
   * @param limit the maximum concurrent for an HTTP/2 connection
   * @return a reference to this, so the API can be used fluently
   */
  public Http2ClientConfig setMultiplexingLimit(int limit) {
    if (limit == 0 || limit < -1) {
      throw new IllegalArgumentException("multiplexingLimit must be > 0 or -1 (disabled)");
    }
    this.multiplexingLimit = limit;
    return this;
  }

  /**
   * @return the default HTTP/2 connection window size
   */
  public int getConnectionWindowSize() {
    return connectionWindowSize;
  }

  /**
   * Set the default HTTP/2 connection window size. It overrides the initial window
   * size set by {@link Http2Settings#getInitialWindowSize}, so the connection window size
   * is greater than for its streams, in order the data throughput.
   * <p/>
   * A value of {@code -1} reuses the initial window size setting.

View on GitHub (pinned to fb308bd8c3)

Solutions

  1. Pass -1 to defer to the server's setting, or a value >= 1
  2. Validate external configuration before constructing the client
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at vertx-core/src/main/java/io/vertx/core/http/Http2ClientConfig.java:79 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of eclipse-vertx/vert.x@fb308bd8c3 (2026-09-06). Data as JSON: /api/errors/f174ea8a3f7520c5. Report an issue: GitHub.