Hazelcast

如果 classpath 上存在 Hazelcast 且找到合适的配置,Spring Boot 会自动配置一个 HazelcastInstance,你可以在应用中注入使用。

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

  • 存在 ClientConfig bean。

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

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

  • 工作目录或 classpath 根目录下的 hazelcast-client.xml

  • 工作目录或 classpath 根目录下的 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。可通过声明 HazelcastConfigCustomizer bean 并设置 @Order 大于零,覆盖 ManagedContext
Spring Boot 还对 Hazelcast 提供了 显式缓存支持。如果启用了缓存,HazelcastInstance 会自动包装为 CacheManager 实现。