Package org.apache.activemq.artemis.api.core.management

## Interface AddressControl

-     public interface AddressControl

  An AddressControl is used to manage an address.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `ADDRESS_SIZE_DESCRIPTION` |
    `static java.lang.String` | `NUMBER_OF_PAGES_DESCRIPTION` |
    `static java.lang.String` | `ROUTED_MESSAGE_COUNT_DESCRIPTION` |
    `static java.lang.String` | `UNROUTED_MESSAGE_COUNT_DESCRIPTION` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `block()` | Blocks message production to this address by limiting credit
    `boolean` | `clearDuplicateIdCache()` |
    `java.lang.String` | `getAddress()` | Returns the managed address.
    `int` | `getAddressLimitPercent()` | Returns the % of memory limit that is currently in use
    `long` | `getAddressSize()` | Returns the number of estimated bytes being used by all the queue(s) bound to this address; used to control paging and blocking.
    `java.lang.String[]` | `getAllQueueNames()` | Returns the names of both the local and remote queue(s) bound to this address.
    `java.lang.String[]` | `getBindingNames()` | Returns the names of all bindings (both queues and diverts) bound to this address
    `long` | `getCurrentDuplicateIdCacheSize()` |
    `long` | `getMessageCount()` |
    `long` | `getNumberOfBytesPerPage()` | Returns the number of bytes used by each page for this address.
    `long` | `getNumberOfMessages()` | Returns the sum of messages on queue(s), including messages in delivery.
    `int` | `getNumberOfPages()` | Returns the number of pages used by this address.
    `java.lang.String[]` | `getQueueNames()` | Returns the names of the local queue(s) bound to this address.
    `java.lang.String[]` | `getRemoteQueueNames()` | Returns the names of the remote queue(s) bound to this address.
    `java.lang.Object[]` | `getRoles()` | Returns the roles (name and permissions) associated with this address.
    `java.lang.String` | `getRolesAsJSON()` | Returns the roles (name and permissions) associated with this address using JSON serialization.
    `long` | `getRoutedMessageCount()` | Returns the number of messages routed to one or more bindings
    `java.lang.String[]` | `getRoutingTypes()` |
    `java.lang.String` | `getRoutingTypesAsJSON()` |
    `long` | `getUnRoutedMessageCount()` | Returns the number of messages not routed to any bindings
    `boolean` | `isAutoCreated()` | Returns whether this address was created automatically in response to client action.
    `boolean` | `isInternal()` | Returns whether this address was created for the broker's internal use.
    `boolean` | `isPaging()` | Returns whether this address is paging.
    `boolean` | `isPaused()` |
    `boolean` | `isRetroactiveResource()` |
    `boolean` | `isTemporary()` | Returns whether this address is temporary.
    `void` | `pause()` | Pauses all the queues bound to this address.
    `void` | `pause​(boolean persist)` | Pauses all the queues bound to this address.
    `long` | `purge()` | Purge all the queues bound of this address.
    `void` | `replay​(java.lang.String target, java.lang.String filter)` |
    `void` | `replay​(java.lang.String startScan, java.lang.String endScan, java.lang.String target, java.lang.String filter)` |
    `void` | `resume()` | Resume all the queues bound of this address.
    `java.lang.String` | `sendMessage​(java.util.Map<java.lang.String,​java.lang.String> headers, int type, java.lang.String body, boolean durable, java.lang.String user, java.lang.String password)` |
    `java.lang.String` | `sendMessage​(java.util.Map<java.lang.String,​java.lang.String> headers, int type, java.lang.String body, boolean durable, java.lang.String user, java.lang.String password, boolean createMessageId)` |
    `void` | `unblock()` |

- - ### Field Detail

    - #### ROUTED_MESSAGE_COUNT_DESCRIPTION

          static final java.lang.String ROUTED_MESSAGE_COUNT_DESCRIPTION

      See Also:
        Constant Field Values

    - #### UNROUTED_MESSAGE_COUNT_DESCRIPTION

          static final java.lang.String UNROUTED_MESSAGE_COUNT_DESCRIPTION

      See Also:
        Constant Field Values

    - #### ADDRESS_SIZE_DESCRIPTION

          static final java.lang.String ADDRESS_SIZE_DESCRIPTION

      See Also:
        Constant Field Values

    - #### NUMBER_OF_PAGES_DESCRIPTION

          static final java.lang.String NUMBER_OF_PAGES_DESCRIPTION

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getAddress

          java.lang.String getAddress()

      Returns the managed address.

    - #### getRoutingTypes

          java.lang.String[] getRoutingTypes()

    - #### getRoutingTypesAsJSON

          java.lang.String getRoutingTypesAsJSON()
                                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getRoles

          java.lang.Object[] getRoles()
                               throws java.lang.Exception

      Returns the roles (name and permissions) associated with this address.
      Throws:
        `java.lang.Exception`

    - #### getRolesAsJSON

          java.lang.String getRolesAsJSON()
                                   throws java.lang.Exception

      Returns the roles (name and permissions) associated with this address using JSON serialization.
      Java objects can be recreated from JSON serialization using `RoleInfo.from(String)`.
      Throws:
        `java.lang.Exception`

    - #### getAddressSize

          long getAddressSize()

      Returns the number of estimated bytes being used by all the queue(s) bound to this address; used to control paging and blocking.

    - #### getNumberOfMessages

          long getNumberOfMessages()
                            throws java.lang.Exception

      Returns the sum of messages on queue(s), including messages in delivery.
      Throws:
        `java.lang.Exception`

    - #### getRemoteQueueNames

          java.lang.String[] getRemoteQueueNames()
                                          throws java.lang.Exception

      Returns the names of the remote queue(s) bound to this address.
      Throws:
        `java.lang.Exception`

    - #### getQueueNames

          java.lang.String[] getQueueNames()
                                    throws java.lang.Exception

      Returns the names of the local queue(s) bound to this address.
      Throws:
        `java.lang.Exception`

    - #### getAllQueueNames

          java.lang.String[] getAllQueueNames()
                                       throws java.lang.Exception

      Returns the names of both the local and remote queue(s) bound to this address.
      Throws:
        `java.lang.Exception`

    - #### getNumberOfPages

          int getNumberOfPages()

      Returns the number of pages used by this address.

    - #### isPaging

          boolean isPaging()
                    throws java.lang.Exception

      Returns whether this address is paging.
      Throws:
        `java.lang.Exception`

    - #### getAddressLimitPercent

          int getAddressLimitPercent()
                              throws java.lang.Exception

      Returns the % of memory limit that is currently in use
      Throws:
        `java.lang.Exception`

    - #### block

          boolean block()
                 throws java.lang.Exception

      Blocks message production to this address by limiting credit
      Returns:
        true if production is blocked
      Throws:
        `java.lang.Exception`

    - #### unblock

          void unblock()
                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getNumberOfBytesPerPage

          long getNumberOfBytesPerPage()
                                throws java.lang.Exception

      Returns the number of bytes used by each page for this address.
      Throws:
        `java.lang.Exception`

    - #### getBindingNames

          java.lang.String[] getBindingNames()
                                      throws java.lang.Exception

      Returns the names of all bindings (both queues and diverts) bound to this address
      Throws:
        `java.lang.Exception`

    - #### getMessageCount

          long getMessageCount()

    - #### getRoutedMessageCount

          long getRoutedMessageCount()

      Returns the number of messages routed to one or more bindings

    - #### getUnRoutedMessageCount

          long getUnRoutedMessageCount()

      Returns the number of messages not routed to any bindings

    - #### sendMessage

          java.lang.String sendMessage​(java.util.Map<java.lang.String,​java.lang.String> headers,
                                       int type,
                                       java.lang.String body,
                                       boolean durable,
                                       java.lang.String user,
                                       java.lang.String password)
                                throws java.lang.Exception

      Parameters:
        `headers` - the message headers and properties to set. Can only container Strings maped to primitive types.
        `body` - the text to send
        `durable` -
        `user` -
        `password` -
      Returns:
      Throws:
        `java.lang.Exception`

    - #### sendMessage

          java.lang.String sendMessage​(java.util.Map<java.lang.String,​java.lang.String> headers,
                                       int type,
                                       java.lang.String body,
                                       boolean durable,
                                       java.lang.String user,
                                       java.lang.String password,
                                       boolean createMessageId)
                                throws java.lang.Exception

      Parameters:
        `headers` - the message headers and properties to set. Can only container Strings maped to primitive types.
        `body` - the text to send
        `durable` -
        `user` -
        `password` -
        `createMessageId` - whether or not to auto generate a Message ID
      Returns:
      Throws:
        `java.lang.Exception`

    - #### pause

          void pause()
              throws java.lang.Exception

      Pauses all the queues bound to this address. Messages are no longer delivered to all its bounded queues. Newly added queue will be paused too until resume is called.
      Throws:
        `java.lang.Exception`

    - #### pause

          void pause​(boolean persist)
              throws java.lang.Exception

      Pauses all the queues bound to this address. Messages are no longer delivered to all its bounded queues. Newly added queue will be paused too until resume is called.
      Parameters:
        `persist` - if true, the pause state will be persisted.
      Throws:
        `java.lang.Exception`

    - #### resume

          void resume()
               throws java.lang.Exception

      Resume all the queues bound of this address. Messages are delivered again to all its bounded queues.
      Throws:
        `java.lang.Exception`

    - #### isPaused

          boolean isPaused()

    - #### isRetroactiveResource

          boolean isRetroactiveResource()

    - #### getCurrentDuplicateIdCacheSize

          long getCurrentDuplicateIdCacheSize()

    - #### clearDuplicateIdCache

          boolean clearDuplicateIdCache()
                                 throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### isAutoCreated

          boolean isAutoCreated()

      Returns whether this address was created automatically in response to client action.

    - #### isInternal

          boolean isInternal()

      Returns whether this address was created for the broker's internal use.

    - #### isTemporary

          boolean isTemporary()

      Returns whether this address is temporary.

    - #### purge

          long purge()
              throws java.lang.Exception

      Purge all the queues bound of this address. Returns the total number of messages purged.
      Throws:
        `java.lang.Exception`

    - #### replay

          void replay​(java.lang.String target,
                      java.lang.String filter)
               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### replay

          void replay​(java.lang.String startScan,
                      java.lang.String endScan,
                      java.lang.String target,
                      java.lang.String filter)
               throws java.lang.Exception

      Throws:
        `java.lang.Exception`