【发布时间】:2013-03-26 16:40:22
【问题描述】:
来自JBoss Infinispan Discussions的交叉发帖
我正在尝试实现一些代码,只要在我的 Infinispan 缓存之一中创建条目时就会执行操作。我很快意识到传递给我的@CacheEntryCreated 方法的 CacheEntryCreatedEvent 对象不包含新创建的条目,因此我开始寻找解决方案。
我发现了有关解决方案的各种讨论,即捕获在@CacheEntryCreated 事件之后传递的@CacheEntryModified 事件并在isPre()=false 时获取对象。但是,我想我错过了一些东西,因为在所有讨论中都没有解决您有一个修改事件的情况,该修改事件代表对现有条目的合法修改而不是创建。
这是否意味着我的@Listener 对象必须在事件传递之间维护状态信息?我的@CacheEntryModified 必须整合事件对象,确定它是一个创建事件(即 getValue() == null && isPre() == true),然后在抓取新创建的对象之前等待下一个@CacheEntryModified 事件?
这提出了一个明显的问题,即如果另一个 @Listener 对象在第二个 @CacheEntryModified(即 isPre() == false)事件传递之前否决了修改,该怎么办?
其他人如何处理这种情况?
【问题讨论】:
标签: jboss7.x infinispan