Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 60AB1173E7 for ; Mon, 6 Apr 2015 23:27:17 +0000 (UTC) Received: (qmail 94059 invoked by uid 500); 6 Apr 2015 23:27:12 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 94002 invoked by uid 500); 6 Apr 2015 23:27:12 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 93991 invoked by uid 99); 6 Apr 2015 23:27:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Apr 2015 23:27:12 +0000 Date: Mon, 6 Apr 2015 23:27:12 +0000 (UTC) From: "Christian Posta (JIRA)" To: dev@activemq.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (AMQ-5672) Add an option to virtual topic selector cache to enforce only a single selector at a given time MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-5672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14482191#comment-14482191 ] Christian Posta commented on AMQ-5672: -------------------------------------- This commit adds a few new features to the selector caching that was previously available: #1 JMX introspection -- you can view and manage the selectors currently applied to specific destinations/Queues. There are three JMX operations that can be applied: * selectorsForDestination(destinationName) * deleteSelectorForDestination(destinationName, selector) * deleteAllSelectorsForDestination(destinationName) Just note, when passing in values to these operations, you need to prefix the destination/queue name with "queue://" + queueName #2 Enforce single selector for a destination -- the assumption is that only a single valid selector expression can be enabled at any one time, and the last consumer to attach with an expression overrides any existing expressions. The one exception is that a consumer with NO selector does not count against the "single selector" enforcement.. that is, you can have a single selector and consumers with no selectors attached at the same time. To enable this feature, you add the "singleSelectorsPerDestination=true" attribute to the plugin element. When consumers that had a selector disconnect from the broker, the broker will cache the selector as expected. If a consumer that has NO selector (that is, it matches everything) disconnects when this singleSelectorsPerDestination=true, then the queue will NO LONGER match against everything. #3 Exclusion of wildcard selectors -- any selectors that match on % or _ can be excluded. To enable this feature, you add the "ignoreWildcardSelectors=true" attribute to the plugin element. > Add an option to virtual topic selector cache to enforce only a single selector at a given time > ----------------------------------------------------------------------------------------------- > > Key: AMQ-5672 > URL: https://issues.apache.org/jira/browse/AMQ-5672 > Project: ActiveMQ > Issue Type: Improvement > Components: Broker > Affects Versions: 5.11.1 > Reporter: Christian Posta > Assignee: Christian Posta > Fix For: 5.12.0 > > > At the moment, the virtualTopicSelectorCache is pretty bare bones. we should allow configuration of the persist period, the file location, and some operational insight via JMX. We should also allow to configure the cache to a single number of selectors to enforce automatic clean-up for non-used selectors (and avoid large pileups of messages) and to ensure consistent usage across the queues that are used in the virtual topic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)