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