Not sure whether I misunderstand/miss something or not, but isn't it possible that you have multiple instances of the same type of CacheListener? like 2 of ListenerTypeA and 3 of ListenerTypeB, so either way shown below modifies at a "category" level?
-Xiawei > On 5 Jan 2017, at 1:25 AM, Anthony Baker <aba...@pivotal.io> wrote: > > Another consideration is that gfsh commands should be easily scriptable, IMO. > > If I want to remove just one of the N listeners using this approach, I would > need to acquire the list of existing listeners, remove the deselected > listener, format the list, then pass it to this command. Is there a way to > do this in one simple command? > > Anthony > >> On Jan 3, 2017, at 11:08 AM, Kirk Lund <kl...@apache.org> wrote: >> >> +1 I'm for the approach you're proposing. As long as it's documented in >> user docs (it's not currently) then this provides a straightforward use of >> the existing gfsh syntax without introducing too many new command options. >> >> Create the region with two cache listeners: >> $ create region --name=data >> --cache-listener="my.package.ListenerTypeA,my.package.ListenerTypeB" >> >> Change my mind and decide to remove one of the cache listeners: >> $ alter region --name=data --cache-listener="my.package.ListenerTypeB" >> >> -Kirk >> >> >>> On Tue, Jan 3, 2017 at 10:52 AM, Kevin Duling <kdul...@pivotal.io> wrote: >>> >>> Is this an intuitive User Experience? >>> >>> Given these two classes: >>> >>> public class ListenerTypeA extends CacheListenerAdapter implements >>> Declarable >>> >>> and >>> >>> public class ListenerTypeB extends CacheListenerAdapter implements >>> Declarable >>> >>> And they are programmatically added to a region: >>> >>> CacheListener listener1 = new ListenerTypeA(); >>> >>> CacheListener listener2 = new ListenerTypeB(); >>> >>> Region region = cache.<String, >>> Customer>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY) >>> >>> .initCacheListeners(new CacheListener[]{listener1, >>> listener2}).create("regionA"); >>> >>> >>> What would the expected gfsh command to remove them. Should we remove the >>> listeners via omission? For example, removing listener1 might be: >>> >>> alter region --name=data --cache-listener='my.package.ListenerTypeB' >>> >>> >>> By only listing the listeners I want...either to keep and/or to add, >>> listener1 which is a ListenerTypeA, would be removed. >>> >>> >>> >>> >>> >>>> On Tue, Dec 20, 2016 at 2:11 PM, Kevin Duling <kdul...@pivotal.io> wrote: >>>> >>>> I'm looking at GEODE-2236 >>>> <https://issues.apache.org/jira/browse/GEODE-2236> and protecting >>> against >>>> the NPE is trivial. But the question is, what is the right way to do >>>> this? What is the syntax people would expect to use? >>>> >>>> >>>> What if there are multiple listeners and you wanted to delete one or more >>>> of them? >