У меня есть существующий проект, который использует 2 базы данных (DB2), и записи, которые сохраняются в 2 базах данных, связаны между собой. Так что транзакции должны поддерживаться. Например, каждый раз, когда нужно добавить что-то новое, необходимо сделать записиx количество таблиц в базе данных 1 и y количество таблиц в базе данных 2.Теперь в ранее существовавшем коде (разработанном somone else) я вижу нечто вроде
UserTransaction utx = getTranscationU();
//getTranscation() is a user defined method as show below
public UserTransaction getTransactionU() {
InitialContext ic = new InitialContext();
return (UserTransaction) ic.lookup("java:comp/XYZ");
}
, поэтому в коде соблюдается следующая последовательность:
- start utx
- создание отдельных менеджеров сущностей ems для db1 и db2
- создание записей в обеих таблицах с использованием этого ems
- , если выбрасывается какое-либо исключение, тогда откат utx
сейчасу меня вопрос
- будет ли этот код проверять, введены ли записи как в дБ, так и ни в одну из них?
- Может ли кто-нибудь объяснить мне, что делает код внутри getTransactionU ()?
- где определяется XYZ?