我有一個配置了Hibernate(hibernate core 4.2.8)的spring項目(spring core 3.1.2),我想將Hazelcast設置爲二級緩存。我希望以P2P,嵌入式集羣模式分發緩存(每個應用程序實例在同一臺計算機上運行一個hazelcast實例)。Spring + Hibernate with Hazelcast作爲二級緩存
這是我當前的sessionFactory配置。
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" scope="singleton">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.myProject.beans" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.database">ORACLE</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<!--enable batch operations-->
<prop key="hibernate.jdbc.batch_size">20</prop>
<prop key="hibernate.order_inserts">true</prop>
<prop key="hibernate.order_updates">true</prop>
<!-- 2nd level cache configuration-->
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.region.factory_class">com.hazelcast.hibernate.HazelcastLocalCacheRegionFactory</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
</props>
</property>
</bean>
這個配置似乎在我的本地機器上工作,因爲我運行了一個小測試,檢查第二級緩存命中。
現在的問題是: 爲了讓緩存分佈在實例中,我必須做些什麼其他配置?不同的機器如何「彼此瞭解」? 另外,有沒有辦法創建一個測試場景來檢查緩存確實分佈在幾臺機器之間?(例如:launch 2 jvms)一個例子將不勝感激。
歡迎任何關於此配置的其他提示或警告。
免責聲明:這是我第一次使用Hazelcast。
我的Hazelcast版本是3.5.4
謝謝!