我正在嘗試使用 gemfire-8.2.11.jar 中可用的 API 方法創(chuàng)建 gemfire 區(qū)域。為此,我創(chuàng)建了一個 spring boot 應(yīng)用程序,在這里我使用代碼創(chuàng)建動態(tài) gemfire 區(qū)域,當我的應(yīng)用程序啟動時,它將連接到 gemfire 定位器并創(chuàng)建服務(wù)器。之后,gemfire 區(qū)域正在創(chuàng)建,使用命令提示符簽入 gemfire 服務(wù)器。這里的問題是,如果我關(guān)閉我的應(yīng)用程序,區(qū)域也會繼續(xù)運行,這意味著區(qū)域名稱不會持續(xù)存在(不更新 cluster.xml 中的區(qū)域詳細信息)。這意味著臨時區(qū)域正在內(nèi)存中創(chuàng)建。請任何人都可以幫助如何使這些區(qū)域在語法上保持不變。我需要將任何屬性設(shè)置為 CashFactory 嗎?根據(jù)下面給出的鏈接,按照 gemfire 文檔進行編碼。http://gemfire82.docs.pivotal.io/docs-gemfire/latest/basic_config/data_regions/create_a_region_with_API.html Getting Cache factory object Cache cache = new CacheFactory().set("name", "TestServer") .set("locators","localhost[10334]") .set("log-level", "config") .create(); RegionFactory<Object, Object> rf = cache.createRegionFactory(RegionShortcut.REPLICATE); rf.setCacheLoader(new TestCacheLoader()); rf.setCacheWriter(new TestCacheWriter()); Region<Object, Object> createdRegion = rf.create("Test"); Need to persist grammatically created regions with my application.
1 回答

UYOU
TA貢獻1878條經(jīng)驗 獲得超4個贊
為了使區(qū)域配置在重新啟動時保持不變,您需要使用集群配置服務(wù),請查看配置和運行集群以獲取更多詳細信息。不幸的是,在 GemFire 8.2.X 中沒有公共 API 可以手動使用此配置服務(wù)(修改集群配置的唯一方法是通過內(nèi)部方法或在集群離線時手動編輯配置 xml 文件),因此您唯一的選擇是使用寶石火殼。較新版本的 GemFire 也有此限制,但目前正在努力通過 API 直接配置此功能(請查看集群管理服務(wù)以獲取更多詳細信息)。
附帶說明一下,考慮到您已經(jīng)在使用Spring Boot,Spring Boot for Apache Geode 和 Pivotal GemFire在可用性和可配置性方面做出了巨大改進,它當然可以為您提供更大的靈活性并幫助您實現(xiàn)目標(特別是@EnableClusterConfiguration
注解)。
希望這可以幫助。干杯。
添加回答
舉報
0/150
提交
取消