我正在使用Hazelcast來緩存JMS主題。爲什麼會出現這些Hazelcast警告?
一切都很好,直到一點。約30-40分鐘運行時間後,我開始越來越:
WARNING: [192.168.3.102]:5701 [devGroup] RedoLog{key=Data{partitionHash=-1465305045} size= 10, operation=CONCURRENT_MAP_PUT_IF_ABSENT, target=Address[192.168.3.102]:5701, targetConnected=false, redoCount=910, migrating=null
partition=Partition [186]{
0:Address[192.168.3.102]:5701
}
}
雖然我從閱讀開發論壇,這些理解很多都是重做警告意味着Hazelcast無法連接到指定的實例target=Address[192.168.3.102]:5701
分配緩存。
奇怪的是卻是我的配置只有一個節點,這是當前服務器實例:
INFO: [192.168.3.102]:5701 [devGroup]
Members [1] {
Member [192.168.3.102]:5701 this
}
我使用Spring配置它:
<hz:hazelcast id="hazelcastInstance">
<hz:config>
<hz:group
name="devGroup"
password="pass"/>
<hz:properties>
<hz:property name="hazelcast.merge.first.run.delay.seconds">5</hz:property>
<hz:property name="hazelcast.merge.next.run.delay.seconds">5</hz:property>
</hz:properties>
<hz:network port="5701" port-auto-increment="true">
<hz:join>
<hz:multicast enabled="false" />
<hz:tcp-ip enabled="true">
<hz:members>192.168.3.102</hz:members>
</hz:tcp-ip>
</hz:join>
<hz:symmetric-encryption enabled="true"
algorithm="PBEWithMD5AndDES"
salt="thesalt"
password="thepass"
iteration-count="19"/>
<hz:asymmetric-encryption enabled="false"
key-password="thekeypass"
key-alias="local"
store-type="JKS"
store-password="thestorepass"
store-path="keystore"/>
</hz:network>
</hz:config>
</hz:hazelcast>
我使用Hazelcast 2.1,Spring 3.1和Tomcat 7
那麼有人知道我爲什麼會收到警告嗎?
感謝,
要回答的評論:
我用這樣的:
final ConcurrentMap<K, V> cachedMap = getHazelcast().getMap(region);
cachedMap.putIfAbsent(key, value);
的getHazelcast()
方法返回注入通過Spring HazelcastInstance
(一個在配置上面,我已經檢查了bean id,看起來沒問題)。
更新2
有地圖上的最大尺寸加入編程:
final MapConfig mapConfig = hazelcast.getConfig().getMapConfig(region);
.... val is calculated here ....
mapConfig.getMaxSizeConfig().setSize(val);
val
不能小於25000
我曾嘗試沒有大小配置不過,我仍然收到警告。
我還使用map.values(SqlPredicate(""))
按日期獲取值。
好奇 - 這IP的版本是這樣的 - 4或6?另外,我假設您的地圖存儲實現(正在使用一個)此時不被調用 - 是否正確? – 2012-07-18 14:41:38
它被調用。我將存儲在JMS主題上的任何內容存儲在榛子地圖中,併成功保存一段時間。 30/40分鐘後,我開始收到警告,沒有任何東西被存儲了。 – Simeon 2012-07-18 14:55:21
你使用任何IMap.lock(),IMap.lockMap()或Hazelcast事務API嗎?或者,您如何將Hazelcast用作緩存? – mmdogan 2012-07-18 14:55:42