39、Hazelcast

如果 Hazelcast 在 classpath 上并有合适的配置,则 Spring Boot 会自动配置一个可以在应用程序中注入的 HazelcastInstance

如果定义了 com.hazelcast.config.Config bean,则 Spring Boot 会使用它。如果您的配置定义了实例名称,Spring Boot 会尝试查找现有的实例,而不是创建新实例。

您还可以通过配置指定要使用的 hazelcast.xml 配置文件,如下所示:

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

否则,Spring Boot 会尝试从默认位置查找 Hazelcast 配置:工作目录或 classpath 根目录中的 hazelcast.xml 。我们还检查是否设置了 hazelcast.config 系统属性。有关更多详细信息,请参阅 Hazelcast 文档

如果 classpath 中存在 hazelcast-client,则 Spring Boot 会首先尝试通过检查以下配置项来创建客户端:

  • 存在 com.hazelcast.client.config.ClientConfig bean。
  • spring.hazelcast.config 属性定义的配置文件。
  • 存在 hazelcast.client.config 系统属性。
  • 工作目录中或 classpath 根目录下的 hazelcast-client.xml

注意

Spring Boot 还为 Hazelcast 提供了缓存支持。如果启用了缓存,HazelcastInstance 将自动包装在 CacheManager 实现中。