У нас есть два экземпляра оракула (две физические машины) и одна схема для нашего приложения. мы используем сервер приложений weblogic. приложение использует источник данных, для которого включена транзакция XA.java.sql.SQLException: не удалось использовать локальную транзакцию в глобальной транзакции
Я имею один боб управляемого EJB, где я делаю -
- обновления некоторые данные в таблице, а затем совершить
- отправить оракул Job
- снова обновить некоторые данные в таблице, а затем совершить
Здесь я получаю ошибку - java.sql.SQLException: не удалось использовать локальную транзакцию в глобальной транзакции.
странно эта ошибка не является обязательной для каждого исполнения, она отправляется 1 в 7-8 исполнениях.
Теперь мои вопросы
- Что значение боба управляемого транзакции, если я использую XA включен транзакцию?
- Почему это не встречается в каждом исполнении?
Спасибо.
ниже код -
DataObject.updateDataAndReturnCount(" UPDATE EOD_Trn_BatchProcess SET iJobNo = ?, szParameters = ? WHERE iProcessSeqNo = ? ", conn, new String[]{null, strParameters, (String)mapParameters.get("__PROCESS_SEQ_NO")});
conn.commit();
String strStatement = "{? = call submitProcAsJob(?, ?)}";
//String strStatement = "begin ? := submitProcAsJob(?, ?); end;";
CallableStatement pStmt = conn.prepareCall(strStatement);
pStmt.registerOutParameter(1, OracleTypes.NUMBER);
pStmt.setObject(2, strJobName);
pStmt.setObject(3, strInstanceNo);
pStmt.execute();
vString strJobNo = pStmt.getString(1);
vpStmt.close();
DataObject.updateData(" UPDATE EOD_Trn_BatchProcess SET iJobNo = ?, szParameters = ? WHERE iProcessSeqNo = ? ", conn, new String[]{strJobNo, strParameters, (String)mapParameters.get("__PROCESS_SEQ_NO")});
conn.commit();
здесь первый коммит требуется, потому что я хочу, чтобы сохранить параметры, используемые во время разговора, даже если подача задание не
Какой атрибут транзакции? Вы назвали commit/rollback в своем коде? Укажите код, который должен быть более ясным. –
добавленный код, «атрибут транзакции», который имеет значение, означающее конфигурацию данных XA? – JackNJill
Нет, в ejb-jar.xml trans-attribute контейнера-транзакции-> –