If Hazelcast is on the classpath and a suitable configuration is found, Spring Boot auto-configures a HazelcastInstance
that you can inject in your application.
Spring Boot first attempts to create a client by checking the following configuration options:
-
The presence of a
com.hazelcast.client.config.ClientConfig
bean. -
A configuration file defined by the configprop:spring.hazelcast.config[] property.
-
The presence of the
hazelcast.client.config
system property. -
A
hazelcast-client.xml
in the working directory or at the root of the classpath. -
A
hazelcast-client.yaml
in the working directory or at the root of the classpath.
Note
|
Spring Boot supports both Hazelcast 4 and Hazelcast 3.
If you downgrade to Hazelcast 3, hazelcast-client should be added to the classpath to configure a client.
|
If a client can not be created, Spring Boot attempts to configure an embedded server.
If you define a com.hazelcast.config.Config
bean, Spring Boot uses that.
If your configuration defines an instance name, Spring Boot tries to locate an existing instance rather than creating a new one.
You could also specify the Hazelcast configuration file to use through configuration, as shown in the following example:
spring:
hazelcast:
config: "classpath:config/my-hazelcast.xml"
Otherwise, Spring Boot tries to find the Hazelcast configuration from the default locations: hazelcast.xml
in the working directory or at the root of the classpath, or a .yaml
counterpart in the same locations.
We also check if the hazelcast.config
system property is set.
See the Hazelcast documentation for more details.
Note
|
Spring Boot also has explicit caching support for Hazelcast.
If caching is enabled, the HazelcastInstance is automatically wrapped in a CacheManager implementation.
|