public final class HazelcastClient extends Object
Hazelcast
class and provides the ability
the create and manage Hazelcast clients. Hazelcast clients are HazelcastInstance
implementations, so
in most cases most of the code is unaware of talking to a cluster member or a client.
ClientNetworkConfig.setSmartRouting(boolean)
.
Modifier and Type | Method and Description |
---|---|
static Collection<HazelcastInstance> |
getAllHazelcastClients()
Gets an immutable collection of all client HazelcastInstances created in this JVM.
|
static HazelcastInstance |
getHazelcastClientByName(String instanceName)
Returns an existing HazelcastClient with instanceName.
|
static HazelcastInstance |
getOrCreateHazelcastClient()
Gets or creates a new HazelcastInstance (a new client in a cluster) with the default XML configuration looked up in:
System property: Hazelcast will first check if "hazelcast.client.config" system property is set to a file or a
classpath:... path. |
static HazelcastInstance |
getOrCreateHazelcastClient(ClientConfig config)
Gets or creates a new HazelcastInstance (a new client in a cluster) with a certain name.
|
static HazelcastInstance |
newHazelcastClient()
Creates a new HazelcastInstance (a new client in a cluster).
|
static HazelcastInstance |
newHazelcastClient(ClientConfig config)
Creates a new HazelcastInstance (a new client in a cluster).
|
static HazelcastInstance |
newHazelcastFailoverClient()
Creates a client with cluster switch capability.
|
static HazelcastInstance |
newHazelcastFailoverClient(ClientFailoverConfig clientFailoverConfig)
Creates a client with cluster switch capability.
|
static void |
setOutOfMemoryHandler(OutOfMemoryHandler outOfMemoryHandler)
Sets OutOfMemoryHandler to be used when an OutOfMemoryError
is caught by Hazelcast Client threads.
|
static void |
shutdown(HazelcastInstance instance)
Shutdown the provided client and remove it from the managed list
|
static void |
shutdown(String instanceName)
Shutdown the provided client and remove it from the managed list
|
static void |
shutdownAll()
Shuts down all the client HazelcastInstance created in this JVM.
|
public static HazelcastInstance newHazelcastClient()
To shutdown all running HazelcastInstances (all clients on this JVM)
call shutdownAll()
.
Hazelcast will look into two places for the configuration file:
classpath:...
path. The configuration can either be an XML or a YAML configuration, distinguished by the
suffix ('.xml' or '.yaml') of the provided configuration file's name
Examples: -Dhazelcast.client.config=C:/myhazelcastclient.xml ,
-Dhazelcast.client.config=classpath:the-hazelcast-config.yaml ,
-Dhazelcast.client.config=classpath:com/mydomain/hazelcast.xml
shutdownAll()
,
(String)
public static HazelcastInstance newHazelcastClient(ClientConfig config)
To shutdown all running HazelcastInstances (all clients on this JVM)
call shutdownAll()
.
config
- Configuration for the new HazelcastInstance (member)shutdownAll()
,
(String)
public static HazelcastInstance newHazelcastFailoverClient()
ClientFailoverConfig
when it disconnects from a cluster.
The configuration is loaded using using the following resolution mechanism:
HazelcastException
is thrownHazelcastException
- if no failover configuration is foundInvalidConfigurationException
- if the loaded failover configuration is not validpublic static HazelcastInstance newHazelcastFailoverClient(ClientFailoverConfig clientFailoverConfig)
ClientFailoverConfig
when it disconnects from a cluster.
If provided clientFailoverConfig is null
, the configuration is loaded using using the following resolution
mechanism:
HazelcastException
is thrownclientFailoverConfig
- config describing the failover configs and try countHazelcastException
- if no failover configuration is foundInvalidConfigurationException
- if the provided or the loaded failover configuration is not validpublic static HazelcastInstance getHazelcastClientByName(String instanceName)
instanceName
- Name of the HazelcastInstance (client) which can be retrieved by HazelcastInstance.getName()
public static HazelcastInstance getOrCreateHazelcastClient()
classpath:...
path. The configuration can either be an XML or a YAML configuration, distinguished by the
suffix ('.xml' or '.yaml') of the provided configuration file's name
Examples: -Dhazelcast.client.config=C:/myhazelcastclient.xml ,
-Dhazelcast.client.config=classpath:the-hazelcast-config.yaml ,
-Dhazelcast.client.config=classpath:com/mydomain/hazelcast.xml
If a configuration file is not located, an IllegalArgumentException
will be thrown.
If a Hazelcast instance with the same name as the configuration exists, then it is returned, otherwise it is created.
IllegalArgumentException
- if the instance name of the config is null or empty or if no config file can be
located.(String)
public static HazelcastInstance getOrCreateHazelcastClient(ClientConfig config)
If a Hazelcast instance with the same name as the configuration exists, then it is returned, otherwise it is created.
If config
is null
, Hazelcast will look into two places for the configuration file:
classpath:...
path. The configuration can either be an XML or a YAML configuration, distinguished by the
suffix ('.xml' or '.yaml') of the provided configuration file's name
Examples: -Dhazelcast.client.config=C:/myhazelcastclient.xml ,
-Dhazelcast.client.config=classpath:the-hazelcast-config.yaml ,
-Dhazelcast.client.config=classpath:com/mydomain/hazelcast.xml
If a configuration file is not located, an IllegalArgumentException
will be thrown.
config
- Client configurationIllegalArgumentException
- if the instance name of the config is null or empty or if no config file can be
located.(String)
public static Collection<HazelcastInstance> getAllHazelcastClients()
In managed environments such as Java EE or OSGi Hazelcast can be loaded by multiple classloaders. Typically you will get at least one classloader per every application deployed. In these cases only the client HazelcastInstances created by the same application will be seen, and instances created by different applications are invisible.
The returned collection is a snapshot of the client HazelcastInstances. So changes to the client HazelcastInstances will not be visible in this collection.
public static void shutdownAll()
To be more precise it shuts down the HazelcastInstances loaded using the same classloader this HazelcastClient has been loaded with.
This method is mostly used for testing purposes.
getAllHazelcastClients()
public static void shutdown(HazelcastInstance instance)
instance
- the hazelcast client instancepublic static void shutdown(String instanceName)
instanceName
- the hazelcast client instance namepublic static void setOutOfMemoryHandler(OutOfMemoryHandler outOfMemoryHandler)
Warning: OutOfMemoryHandler may not be called although JVM throws OutOfMemoryError. Because error may be thrown from an external (user thread) thread and Hazelcast may not be informed about OutOfMemoryError.
outOfMemoryHandler
- set when an OutOfMemoryError is caught by HazelcastClient threadsOutOfMemoryError
,
OutOfMemoryHandler
Copyright © 2023 Hazelcast, Inc.. All rights reserved.