Hazelcast
如果添加hazelcast依賴,Spring Boot将自動配置一個HazelcastInstance,你可以注入到應用中,HazelcastInstance執行個體隻有存在相關配置時才會建立。 如果定義了com.hazelcast.config.Configbean,則Spring Boot将使用它。如果你的配置指定了執行個體的名稱,Spring Boot将嘗試定位已存在的而不是建立一個新執行個體。你可以在配置中指定将要使用的hazelcast.xml配置檔案:
1spring.hazelcast.config=classpath:config/my-hazelcast.xml
否則,Spring Boot嘗試從預設路徑查找Hazelcast配置,也就是hazelcast.xml所在的工作路徑或classpath的根路徑。Spring Boot也會檢查是否設定hazelcast.config系統屬性,具體參考Hazelcast文檔。
注意
Spring Boot為Hazelcast提供了緩存支援,如果開啟緩存的話,HazelcastInstance執行個體将自動包裝進一個CacheManager實作中。
Quartz Scheduler
Spring Boot為使用Quartz排程程式提供了一些便利 ,包括 spring-boot-starter-quartz“Starter”。如果Quartz可用,Scheduler則會自動配置a(通過SchedulerFactoryBean抽象)。

以下類型的豆類會自動拾取并與以下類型相關聯 Scheduler:
- JobDetail:定義一個特定的Job。JobDetail可以使用JobBuilderAPI 建構執行個體 。
- Calendar。
- Trigger:定義特定作業何時被觸發。
預設情況下,使用記憶體JobStore。但是,如果DataSource應用程式中有可用的bean,并且該 spring.quartz.job-store-type屬性已相應配置,則可以配置基于JDBC的存儲,如以下示例所示:
1spring.quartz.job-store-type = jdbc
使用JDBC存儲時,可以在啟動時初始化模式,如以下示例所示:
1spring.quartz.jdbc.initialize-schema = always
1public class SampleJob extends QuartzJobBean {
2 private MyService myService;
3 private String name;
4 // Inject "MyService" bean
5 public void setMyService(MyService myService) { ... }
6 // Inject the "name" job data property
7 public void setName(String name) { ... }
8 @Override
9 protected void executeInternal(JobExecutionContext context)
10 throws JobExecutionException {
11 ...
12 }
13}