+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