У нас есть существующее приложение на С++, которое мы постепенно заменим новой системой на базе Java. Пока мы полностью не переопределили все в Java, мы ожидаем, что С++ и Java должны взаимодействовать друг с другом (RMI, SOAP, обмен сообщениями и т.д. - мы не решили).
Теперь мой менеджер считает, что нам понадобятся стороны Java и С++ для участия в одной транзакции Oracle DB. Это связано, но отличается от обычной проблемы с распределенной транзакцией о том, что один процесс координирует 2 транзакционных ресурса, таких как БД и очередь сообщений.
Я думаю, что распространение транзакции через процессы - ужасная идея из точки зрения производительности и стабильности, но меня все равно попросят найти решение.
Я знаком с транзакциями XA, и я проделал определенную работу с JBoss Transaction Manager, но мой googling не показал ничего хорошего в распространении транзакции XA между двумя процессами.
Мы используем Spring на стороне Java, и в их документации явно указано, что они не предоставляют никакой помощи в распространении транзакций.
Мы не планируем использовать традиционный Java EE-сервер (например, IBM Websphere), который может поддерживать распространение (не для того, чтобы найти какую-либо окончательную документацию).
Приветствуется любая помощь или указатели на решения.