2015-05-04 68 views
0

我設置了一個具有2個定位器和3個節點的集羣Gemfire環境。我想用它作爲發佈者/訂閱解決方案。我在Java應用程序中創建了一個緩存監聽器,當我將一個項目插入到一個區域時,它可以很好地工作(記錄)。然而,然後我啓動一個gfsh窗口插入一個項目,java listerner不起作用。我的配置如下:Gemfire訂閱不適用於分佈式環境

<gfe:client-cache id="client-cache" pool-name="my-pool" properties-ref="gemfire-props"/> 
<gfe:pool id="my-pool" subscription-enabled="true"> 
     <gfe:locator host="10.151.134.111" port="10334" /> 
    </gfe:pool> 
    <gfe:client-region id="Test" data-policy="EMPTY" cache-ref="client-cache"> 
     <gfe:cache-listener> 
      <bean class="Test.util.LoggingCacheListener"/> 
     </gfe:cache-listener>  
    </gfe:client-region> 

回答

1

我相信你需要data-policy = NORMAL(或EMPTY以外的東西)才能工作。有關更多詳細信息,請參閱DataPolicy。客戶端偵聽器不會觸發,因爲數據永遠不會複製到客戶端緩存中,所以沒有狀態更改。使用data-policy = EMPTY時,監聽器只會在客戶端執行put時觸發。

+0

我將它設置爲NORMAL,但偵聽器不會針對遠程放置進行觸發。服務器端的任何特殊配置? – Napo