0

我们正在使用 infinispan,在我们的系统中,我们有一个大对象,我们必须在其中推送每个事务的小更改。我已经为这个对象和 Delta 实现了 DeltaAware 接口。我面临的问题是更改没有传播到其他节点,只有初始对象状态被传播到其他节点。此外,不会在实现 DeltaAware 的大对象上调用 delta 和 commit 方法。除了简单地将它放在缓存中之外,我是否需要在其他地方注册这个对象?

谢谢

4

1 回答 1

1

如果您简单地使用AtomicHashMap可能会更好,它是 Infinispan 中的一个构造。这允许您将一系列键/值对分组为单个值。Infinispan 可以检测到这个 AtomicHashMap 的变化,因为它实现了 DeltaAware 接口。AHM 是比 DeltaAware 更高级别的构造,并且可能更适合您。

举一个使用 AtomicHashMap 的例子,它们被 JBoss AS7 HTTP 会话复制大量使用,其中每个会话 id 都映射到一个 AtomicHashMap。这意味着我们可以检测到单个会话数据何时发生变化,并且只复制它。

干杯,高尔德

于 2012-04-11T13:23:31.643 回答