Client -Событие afterCreate уволено даже в случае обновления. Как события работают в Gemfire? Настройка кэша
<region name="test" refid="PROXY">
<region-attributes>
<cache-listener>
<class-name>com.test.cache.SimpleCacheListener</class-name>
</cache-listener>
</region-attributes>
</region>
Для указанной выше конфигурации на стороне клиента, я использовал CacheListener, который прослушивает события на этом кэш «тест».
Проблема, с которой я столкнулся, даже в случае обновления, т. Е. Ставит другое значение для того же ключа в кеше, запускается событие AfterCreate.
т.е.
region.put("test key","test value")
и
region.put("test key","test updated value")
как генерировать afterCreateEvent в приемнике команд.
EDITED
Позволь мне быть немного более ясно, что я хочу достичь here.I хочет, чтобы моя сторону клиента, чтобы получать уведомления при принятии записи, что ли уже есть, что запись в кэше-сервере или не.
, например.
Если для сервера Cache Server уже существует Entry [Test, Value], то при создании клика put [Test, Value1] должно быть известно, что это обновление, и это должно быть сделано независимо от того, какая запись находится там кэш клиента или нет.
Я пытался что-то вроде this-
<region name="test" refid="PROXY" >
<region-attributes data-policy="normal">
<!-- <region-attributes> -->
<subscription-attributes interest-policy="all"/>
<cache-listener>
<class-name>com.cache.test.SimpleCacheListener</class-name>
</cache-listener>
</region-attributes>
</region>
После внесения изменений выше, он обнаруживает событие обновления, но только тогда, когда тот же самый клиент только что сделал запись и попробуйте обновить его и не ранее созданные записи.
Пожалуйста, помогите и сообщите мне, если я что-то упустил.
Пожалуйста, проверьте EDITED комментарий. – schhajed