[ 
https://issues.apache.org/jira/browse/GEODE-1984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15729980#comment-15729980
 ] 

ASF GitHub Bot commented on GEODE-1984:
---------------------------------------

Github user jhuynh1 commented on a diff in the pull request:

    https://github.com/apache/geode/pull/303#discussion_r91391868
  
    --- Diff: 
geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/GatewaySenderDestroyFunction.java
 ---
    @@ -0,0 +1,90 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
    + * agreements. See the NOTICE file distributed with this work for 
additional information regarding
    + * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance with the 
License. You may obtain a
    + * copy of the License at
    + *
    + * http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software 
distributed under the License
    + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express
    + * or implied. See the License for the specific language governing 
permissions and limitations under
    + * the License.
    + */
    +package org.apache.geode.management.internal.cli.functions;
    +
    +import org.apache.geode.cache.Cache;
    +import org.apache.geode.cache.CacheFactory;
    +import org.apache.geode.cache.execute.FunctionAdapter;
    +import org.apache.geode.cache.execute.FunctionContext;
    +import org.apache.geode.cache.execute.ResultSender;
    +import org.apache.geode.cache.wan.GatewaySender;
    +import org.apache.geode.internal.InternalEntity;
    +import org.apache.geode.internal.cache.wan.GatewaySenderException;
    +import org.apache.geode.internal.logging.LogService;
    +import org.apache.geode.management.internal.cli.CliUtil;
    +import org.apache.geode.management.internal.cli.i18n.CliStrings;
    +import org.apache.logging.log4j.Logger;
    +
    +public class GatewaySenderDestroyFunction extends FunctionAdapter 
implements InternalEntity {
    +  private static final long serialVersionUID = 1459761440357690134L;
    +
    +  private static final Logger logger = LogService.getLogger();
    +  private static final String ID = 
GatewaySenderDestroyFunction.class.getName();
    +  public static GatewaySenderDestroyFunction INSTANCE = new 
GatewaySenderDestroyFunction();
    +
    +  @Override
    +  public void execute(FunctionContext context) {
    +    ResultSender<Object> resultSender = context.getResultSender();
    +
    +    Cache cache = CacheFactory.getAnyInstance();
    +    String memberNameOrId =
    +        
CliUtil.getMemberNameOrId(cache.getDistributedSystem().getDistributedMember());
    +
    +    GatewaySenderDestroyFunctionArgs gatewaySenderDestroyFunctionArgs =
    +        (GatewaySenderDestroyFunctionArgs) context.getArguments();
    +
    +    try {
    +      GatewaySender gatewaySender =
    +          cache.getGatewaySender(gatewaySenderDestroyFunctionArgs.getId());
    +      if (gatewaySender != null) {
    +        gatewaySender.stop();
    --- End diff --
    
    Is there a way to check to make sure the gateway is actually stopped 
first().  I don't think the stop() method is a blocking call and the sender 
itself could technically still be running.  stop() probably should be changed 
to actually stop the sender before returning but I don't think it's the case 
today.


> Make GatewaySender destroy a public API
> ---------------------------------------
>
>                 Key: GEODE-1984
>                 URL: https://issues.apache.org/jira/browse/GEODE-1984
>             Project: Geode
>          Issue Type: New Feature
>          Components: wan
>            Reporter: Barry Oglesby
>            Assignee: Avinash Dongre
>
> The internal {{AbstractGatewaySender}} class has a {{destroy}} API to destroy 
> a {{GatewaySender}}. This is currently an internal API. It would be nice to 
> make this public by:
> - adding destroy to the {{GatewaySender}} interface
> - provide {{gfsh}} support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to