Hazelcast
如果 Hazelcast 在 classpath 中,并且找到了合适的配置,Spring Boot 会自动配置一个 HazelcastInstance,你可以将其注入到你的应用程序中。
Spring Boot 首先尝试通过检查以下配置选项来创建客户端:
-
存在一个 ClientConfig bean。
-
由
spring.hazelcast.config属性定义的配置文件。 -
存在
hazelcast.client.config系统属性。 -
工作目录中或类路径根目录下的
hazelcast-client.xml文件。 -
工作目录中或类路径根目录下的
hazelcast-client.yaml(或hazelcast-client.yml)文件。
如果无法创建客户端,Spring Boot 会尝试配置一个嵌入式服务器。如果你定义了一个 Config Bean,Spring Boot 会直接使用它。如果你的配置中定义了实例名称,Spring Boot 会尝试查找现有实例,而不是创建新实例。
你也可以通过配置指定要使用的 Hazelcast 配置文件,如下例所示:
- Properties
- YAML
spring.hazelcast.config=classpath:config/my-hazelcast.xml
spring:
hazelcast:
config: "classpath:config/my-hazelcast.xml"
否则,Spring Boot 会尝试从默认位置查找 Hazelcast 配置:工作目录或 classpath 根目录下的 hazelcast.xml 文件,或者相同位置的 YAML 格式配置文件。我们还会检查是否设置了 hazelcast.config 系统属性。更多详情请参见 Hazelcast 文档。
默认情况下,Hazelcast 组件上的 @SpringAware 是受支持的。可以通过声明一个 @Order 值大于零的 HazelcastConfigCustomizer Bean 来覆盖 ManagedContext。
Spring Boot 还为 Hazelcast 提供了显式的缓存支持。如果启用了缓存,HazelcastInstance 会自动被包装在一个 CacheManager 实现中。