У меня есть сеть узлов, представленная графиком (или, точнее, дагом).Вершина и ребра - это просто идентификаторы, указывающие на большие объекты в кэше.
Я использую Hazelcast и у меня есть 2 кэша:
1.ReferenceObject для графа
2.IMap для крупных объектов
3.IMap для ребер в графе
Когда я вставляю большой объект, у меня есть приемник записей, который обновит этот график в кеше.Точно так же, когда я добавляю данные ребер, есть также слушатель записи, который обновит график.
Однако у меня есть 1 проблема, когда, если я создаю ребро и создаю цикл, он терпит неудачу (поскольку это dag)но IMap сохраняет записи.
Любые идеи, как я могу иметь транзакции через основной поток и прослушиватель записей?