use of org.apache.geode.cache.CacheClosedException in project calcite by apache.
the class GeodeUtils method createClientCache.
/**
* Creates a Geode client instance connected to locator and configured to
* support PDX instances.
*
* <p>If an old instance exists, it will be destroyed and re-created.
*
* @param locatorHost Locator's host address
* @param locatorPort Locator's port
* @param autoSerializerPackagePath package name of the Domain classes loaded in the regions
* @return Returns a Geode {@link ClientCache} instance connected to Geode cluster
*/
public static synchronized ClientCache createClientCache(String locatorHost, int locatorPort, String autoSerializerPackagePath, boolean readSerialized) {
if (locatorPort != currentLocatorPort || !StringUtils.equalsIgnoreCase(currentLocatorHost, locatorHost)) {
LOGGER.info("Close existing ClientCache [" + currentLocatorHost + ":" + currentLocatorPort + "] for new Locator connection at: [" + locatorHost + ":" + locatorPort + "]");
currentLocatorHost = locatorHost;
currentLocatorPort = locatorPort;
closeClientCache();
}
try {
// client proxy regions can also be resolved from the regionMap
return ClientCacheFactory.getAnyInstance();
} catch (CacheClosedException cce) {
// Do nothing if there is no existing instance
}
return new ClientCacheFactory().addPoolLocator(locatorHost, locatorPort).setPdxSerializer(new ReflectionBasedAutoSerializer(autoSerializerPackagePath)).setPdxReadSerialized(readSerialized).setPdxPersistent(false).create();
}
Aggregations