Class ConnectionConfig.Builder

java.lang.Object
org.acemq.amqp.transport.ConnectionConfig.Builder
Enclosing class:
ConnectionConfig

public static final class ConnectionConfig.Builder extends Object
Builds ConnectionConfig instances.
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • url

      public ConnectionConfig.Builder url(String url)
    • credentials

      public ConnectionConfig.Builder credentials(@Nullable String username, @Nullable String password)
    • virtualHost

      public ConnectionConfig.Builder virtualHost(@Nullable String virtualHost)
    • clientName

      public ConnectionConfig.Builder clientName(String clientName)
      Parameters:
      clientName - name the broker shows for this connection, aiding operators
    • connectionTimeout

      public ConnectionConfig.Builder connectionTimeout(Duration connectionTimeout)
    • confirmTimeout

      public ConnectionConfig.Builder confirmTimeout(Duration confirmTimeout)
    • blockedTimeout

      public ConnectionConfig.Builder blockedTimeout(Duration blockedTimeout)
      How long a publish waits for a blocked broker to resume before it is refused.

      Zero by default: while the broker is blocking publishes (a memory or disk alarm), a publish is refused at once with ConnectionBlockedException and nothing is written. A positive value waits up to that long for the alarm to clear first, which was the default (30 seconds) before 0.7.

      Parameters:
      blockedTimeout - how long a publish waits for a blocked broker to resume; zero to refuse at once
      Returns:
      this builder
    • security

      public ConnectionConfig.Builder security(Security security)
      Parameters:
      security - how the connection is protected
      Returns:
      this builder
    • withoutPublisherConfirms

      public ConnectionConfig.Builder withoutPublisherConfirms()
      Turns publisher confirms off for the caller's own publishers.

      Named rather than boolean-flagged, because losing messages silently should require saying so out loud: without a confirm a publish is reported as routed whether or not anything received it.

      What the library publishes on the caller's behalf is still confirmed and checked for a return — a retry hop, a move to {queue}.dlq or {queue}.parked, a replay, a pipeline hop, a scheduled delivery, an outbox record, a reply — because each acknowledges a message or marks a record done on the strength of the answer. On RabbitMQ that takes one more channel, in confirm mode, used for nothing else.

      Returns:
      this builder
    • maxOutstandingPublishes

      public ConnectionConfig.Builder maxOutstandingPublishes(int maxOutstandingPublishes)
      Parameters:
      maxOutstandingPublishes - how many asynchronous publishes may await a confirm before publishing blocks; must be at least 1
    • build

      public ConnectionConfig build()