我正在嘗試使用 gemfire-8.2.11.jar 中可用的 API 方法創建 gemfire 區域。為此,我創建了一個 spring boot 應用程序,在這里我使用代碼創建動態 gemfire 區域,當我的應用程序啟動時,它將連接到 gemfire 定位器并創建服務器。之后,gemfire 區域正在創建,使用命令提示符簽入 gemfire 服務器。這里的問題是,如果我關閉我的應用程序,區域也會繼續運行,這意味著區域名稱不會持續存在(不更新 cluster.xml 中的區域詳細信息)。這意味著臨時區域正在內存中創建。請任何人都可以幫助如何使這些區域在語法上保持不變。我需要將任何屬性設置為 CashFactory 嗎?根據下面給出的鏈接,按照 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條經驗 獲得超4個贊
為了使區域配置在重新啟動時保持不變,您需要使用集群配置服務,請查看配置和運行集群以獲取更多詳細信息。不幸的是,在 GemFire 8.2.X 中沒有公共 API 可以手動使用此配置服務(修改集群配置的唯一方法是通過內部方法或在集群離線時手動編輯配置 xml 文件),因此您唯一的選擇是使用寶石火殼。較新版本的 GemFire 也有此限制,但目前正在努力通過 API 直接配置此功能(請查看集群管理服務以獲取更多詳細信息)。
附帶說明一下,考慮到您已經在使用Spring Boot,Spring Boot for Apache Geode 和 Pivotal GemFire在可用性和可配置性方面做出了巨大改進,它當然可以為您提供更大的靈活性并幫助您實現目標(特別是@EnableClusterConfiguration
注解)。
希望這可以幫助。干杯。
添加回答
舉報
0/150
提交
取消