Skip to content

An interface for filtering out entities (e.g. queues) from the topology recovery cache #1312

Open
@michaelklishin

Description

@michaelklishin

See #1311 for background.

This is a very basic proposal that would allow to mark certain entities as "unrecoverable", as in, they won't be stored in the topology recovery cache and thus won't be recovered. But also won't keep accumulating if the queues are deleted via a mechanism such as TTL, or another client.

Topology Filtering Interface

ConnectionFactory can accept a TopologyRecoveryEntityFilter (or something like that) that would accept a new methods similar in spirit to Predicate<T> but potentially with a list of parameters, e.g.

class FilterTemporaryQueues implements TopologyRecoveryEntityFilter {
  public boolean shouldRecoverQueue(String virtualHost, String name, boolean durable, boolean autoDelete, boolean exclusive, Map<String, Object> arguments);

  public boolean shouldRecoverExchange(String virtualHost, String name, String exchangeType, boolean durable, boolean autoDelete, Map<String, Object> arguments);
}

  // ...

By default, an "all-accepting" implementation can be used.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions