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?
> 

Reply via email to