gpt4 book ai didi

java - 是否有可能在 hazelcast 中保留一个 map 存储并用于多个 map

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:41 24 4
gpt4 key购买 nike

目前正在使用 Hazelcast 和持久性数据库作为 Hbase,

到目前为止,我有 10 个 map ,每个 map 都使用一个 map 存储,所以我使用 10 个 map 存储类(即)在所有 10 个类中都实现了 MapStore。它造成了维护的复杂性。

所以我所做的是,我保留了一个通用 map 存储并为所有 map 实现了相同的类,它有能力接受它,为了清楚起见,我做了类似的事情

Map1 - com.test.GenericMapStore
Map2 - com.test.GenericMapStore
Map3 - com.test.GenericMapStore
...
Map10 - com.test.GenericMapStore

如上图所示,

但是store, storeAll, loadAllKeys, loadAll 中的方法可以检查对象的实例并找到mapName ---- 不是一个好方法

但是对于像 delete、deleteAll、load 这样的方法——我没有任何线索可以找到 mapName,

请告诉我如何为所有 map 使用一个 singleMapStore???

所以我需要一个 map 存储实现,对于 mapstore 中的所有方法,我需要传递名为 mapName 的 PARAM,所以万一,如果我有通用实现,我可以通过使用 MAP NAME 参数来使用它在所有的方法中,

示例:Store(String key, Object object, String mapName),
StoreAll( map ,字符串 map 名称),
删除(字符串键,字符串映射名称)
删除(集合键,字符串映射名称)
...

如果有可用的方法,请告诉我...

感谢 hazelcast 团队,你们做得很好......非常感谢......

感谢和问候,哈利

最佳答案

您应该能够通过 MapStoreFactory ( docs ) 实现这一点。使用 map 名称调用 MapStoreFactory,您可以将该名称传递到 GenericMapStore。

在你的 MapStoreFactory 中:

public MapLoader newMapStore(mapName, props) { 
return new GenericMapStore(mapName);
}

然后在 GenericMapStore 中,您将拥有每个操作的 mapName。

关于java - 是否有可能在 hazelcast 中保留一个 map 存储并用于多个 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26218732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com