[ https://issues.apache.org/jira/browse/GEODE-2812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16004481#comment-16004481 ]
ASF GitHub Bot commented on GEODE-2812: --------------------------------------- Github user masaki-yamakawa commented on the issue: https://github.com/apache/geode/pull/475 Thanks @bschuchardt @kirklund for review. Is this PR OK to merge? If it is possible to merge, I do not have the merge permission, so I would appreciate if you could please merge it. > Add API to get list of live locators > ------------------------------------ > > Key: GEODE-2812 > URL: https://issues.apache.org/jira/browse/GEODE-2812 > Project: Geode > Issue Type: Improvement > Components: client/server > Reporter: Masaki Yamakawa > Priority: Minor > > There is a Geode cluster using a logical member group, and from the client, > the connection pool to the logical member group is connected using the > PoolFactory API at the timing when connection becomes necessary. > At this time, even though the locator that was running at the initial > connection stops due to reasons such as regular maintenance etc., even if the > alternate locator is started before maintenance, I can not connect to the > locator in the static initial list. > # Client side:PoolManager.createFactory().addLocator("localhost", > 10334).setServerGroup("GroupA").create("pool1"); > # Geode cluster:start locator [ localhost:10335 ]. > # Geode cluster:stop locator [ localhost:10334 ]. > # Client side:PoolManager.createFactory().addLocator("localhost", > 10334).setServerGroup("GroupB").create("pool2"); > Therefore, I would like to decide the connection destination based on the > live locator list of another logical member group. > I added an API that can get the list of live locators from the Pool. Use the > API as follows: > {code:java|borderStyle=solid} > Pool pool = PoolManager.createFactory() > .addLocator("localhost", 10334) > .setSubscriptionEnabled(true).setServerGroup("GroupA") > .create("GroupAPool"); > List<InetSocketAddress> = pool.getLiveLocators(); > {code} > {quote} > Note: > The list of live locators gets the result of the UpdateLocatorListTask > periodically running in AutoConnectionSourceImpl. > Therefore, whether or not it is alive will cause a time lag, depending on the > task execution interval. > Also, the result of ExplicitConnectionSourceImpl without using a locator is > always empty. > {quote} -- This message was sent by Atlassian JIRA (v6.3.15#6346)