У меня есть один процесс, который создает объект базы данных, а затем запускает второй процесс. Затем он ожидает, пока второй процесс найдет и обновит объект базы данных, прежде чем завершить свою обработку, и, таким образом, зафиксирует объект базы данных. Проблема заключается в том, что поскольку первоначальный процесс, который выполнил создание объекта, не зафиксировал объект базы данных к тому времени, когда второй процесс пытается найти объект (который он не может найти), первый процесс никогда не завершается, поскольку второй процесс не может быть завершена, и вещи зашиты.
Некоторый контекст: первый процесс создает объект, запускает второй процесс на внешнем компьютере и устанавливает статус объекта на STARTED. Второй процесс на внешнем компьютере выполняет вызов веб-службы, и эта веб-служба находит объект и обновляет его статус до состояния ГОТОВ. Первый процесс имеет цикл, который проверяет состояние объекта, и после того, как он был изменен с STARTED на READY, он выполняет дополнительную обработку и завершается. Однако второй процесс никогда не может найти объект (я думаю), так как он никогда не фиксируется в сеансе Hibernate, где он был создан в первом процессе, который не завершился к тому времени, когда второй процесс пытается найти объект.
Какой лучший способ сделать это, чтобы такого не происходило? Есть ли способ зафиксировать транзакцию на полпути, непосредственно перед запуском второго процесса, чтобы сущность присутствовала в базе данных для поиска второго процесса?
Спасибо за ваши предложения и т.д.