Распространение транзакций Oracle между C++ и Java

Попробуйте сделать это:

int **ary = new int[sizeY];
for (int i = 0; i < sizeY; i++)
    ary[i] = new int[sizeX];
14
задан MRalwasser 31 March 2015 в 14:52
поделиться

2 ответа

Я полагаю, что Менеджер транзакций JBoss поддерживает 2 пк tx распространение через вызовы веб-сервиса. Вы могли, я предположить, интегрируют Ваши системы тот путь, но производительность воняла бы.

0
ответ дан 1 December 2019 в 14:23
поделиться

Существует пример на блоге Laurent Schneider использования пакета DBMS_XA в Oracle, чтобы разрешить нескольким сессиям работать в той же транзакции. Таким образом, было бы возможно иметь Java и сессии C++, участвующие в той же транзакции, не нуждаясь ни в каком виде дополнительного координатора.

Поочередно, Вы могли бы рассмотреть использование менеджера по Рабочей области. Это было первоначально разработано для поддержки чрезвычайно продолжительных транзакций (т.е. управляющий большим количеством пространственных данных для предложенной разработки). По существу можно создать рабочую область, которая в случае была бы примерно эквивалентна именованной транзакции. И Java и код C++ могли ввести ту рабочую область (от отдельных сессий), и оба могли управлять и фиксировать данные в той рабочей области. Когда транзакция была завершенной, Вы могли затем объединить рабочую область с ЖИВОЙ рабочей областью, которая эквивалентна выполнению фиксации в нормальной транзакции.

, С другой стороны, я сильно согласился бы с Вашей начальной оценкой, что координирование транзакций между процессами, очень вероятно, будет плохой идеей от производительности, устойчивости, простоты и точки зрения обслуживания. С другой стороны, это может быть законное бизнес-требование в зависимости от того, как код C++ будет на пенсии (т.е. возможно ли заменить код таким способом, которым транзакции могут быть или исключительно Java или исключительно C++)

10
ответ дан 1 December 2019 в 14:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: