Hazelcast

如果 Hazelcast 位于类路径中并且找到了合适的配置,则 Spring Boot 会自动配置一个 HazelcastInstance,你可以在你的应用中注入它。

Spring Boot 首先尝试通过检查以下配置选项来创建客户端

  • com.hazelcast.client.config.ClientConfig Bean 的存在。

  • spring.hazelcast.config 属性定义的配置文件。

  • hazelcast.client.config 系统属性的存在。

  • 工作目录或类路径根目录下的 hazelcast-client.xml

  • 工作目录或类路径根目录下的 hazelcast-client.yaml(或 hazelcast-client.yml)。

如果无法创建客户端,Spring Boot 会尝试配置一个嵌入式服务器。如果你定义了一个 com.hazelcast.config.Config Bean,Spring Boot 会使用它。如果你的配置定义了一个实例名称,Spring Boot 会尝试定位现有实例而不是创建新的实例。

你还可以通过配置指定要使用的 Hazelcast 配置文件,如下例所示

  • 属性

  • YAML

spring.hazelcast.config=classpath:config/my-hazelcast.xml
spring:
  hazelcast:
    config: "classpath:config/my-hazelcast.xml"

否则,Spring Boot 会尝试从默认位置查找 Hazelcast 配置:工作目录或类路径根目录下的 hazelcast.xml,或同一位置的 YAML 等效文件。我们还会检查 hazelcast.config 系统属性是否已设置。有关更多详细信息,请参阅 Hazelcast 文档

默认情况下,支持 Hazelcast 组件上的 @SpringAware。可以通过声明一个 @Order 值大于零的 HazelcastConfigCustomizer bean 来覆盖 ManagementContext
Spring Boot 还提供了 Hazelcast 的显式缓存支持。如果启用了缓存,则 HazelcastInstance 会自动包装在一个 CacheManager 实现中。