Hazelcast

如果类路径上有 Hazelcast,且找到了适当的配置,则 Spring Boot 会自动配置一个 HazelcastInstance,可将其注入你的应用程序。

Spring Boot 最初会尝试通过检查以下配置选项来创建客户端:

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

  • configprop: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 配置文件,如以下示例所示:

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

否则,Spring Boot 会尝试从默认位置查找 Hazelcast 配置:hazelcast.xml(位于工作目录或类路径根目录),或在相同位置的 YAML 副本。我们还会检查是否设置了 hazelcast.config 系统属性。有关更多详细信息,请参见 Hazelcast documentation

默认情况下,支持 Hazelcast 组件上的 @SpringAwareManagementContext 可以通过声明一个 HazelcastConfigCustomizer bean 重写,该 bean 的 @Order 高于 0。

Spring Boot 还具有 explicit caching support for Hazelcast。如果启用了缓存,则 HazelcastInstance 会自动包装在 CacheManager 实现中。