powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate и двухфазная транзакция!!!
16 сообщений из 16, страница 1 из 1
Hibernate и двухфазная транзакция!!!
    #34423400
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все доброго времени суток!
Проблема в следующем, как настроить средствами hibernate двухфазную транзакцию? Очевидно нужно, что то и с СУБД сделать....
Приложение грузится по веб старту, СУБД MS SQL 2000, и необходимо, чтоб при вставке новой записи строка добавлялась и в центральный сервак и в локальный для данного подразделения, удаленность серваков большая, сотни км. Сейчас данная проблема решается Mulе-ей, но не используется механизм распределенной транзакции и данные заносятся в начале на главный сервак, при этом выдается код на локальный... а потом репликацией таблица переливается с главного :-(, это очевидно "не есть хорошо" существуют проблемы.

Спасибо!

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34423644
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никаких проблем. вам нужен JTA координатор. хибера можно настроить что бы от его находил и с ним работал. Боюсь больше проблем будет с JDBC-XA драйвером. недавно пришлось тут по...ться

вы хотя бы примерно архитектуру опишите а то ни ясно ничего
_______________
в футболе ни чо не понимаю. но я тоже за rostov-on-don
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34423689
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ!
Я тут нашел решение
http://forum.hibernate.org/viewtopic.php?t=926177&highlight=2pc
Оно разве не подойдет?
Архитеткура такая Swing клиент - Hibernate - MS SQL, загрузка по веб старту, пока без сервера приложений. При просомтре используется база локального сервака, при обновлении и вставке объект перситется на главном серваке, а потом на локальном.
Я вот в свете ссылки, решил попробовать получать две фабрики сессий... или это утопия?
Можете кинуть сслыки на тему этих драйверов...

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34423912
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прикрутить то можно, только с архитектурой у вас явно не все в порядке...
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34423938
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, к сожалению пока такая :-(
Так как все, как обычно у нас, нужно сделать еще вчера :-(
Так что есть варинат не делать два конфига?

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424003
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. терминология: если appserv нету то это standalone swing appl.
2. то что вы описываете - знакомо до боли (репликация, локальные серваки ...) смею вас уверить что это не более чем рудиментарные хаки маньяка-DBA. забейте. и выкиньте "локальный сервак". лучше пусть он станет appservом
3. если вы всётаки хотите что ннить пораспределять (транзакцию): настраивайте SessFact на JTA, там же настраивайте JNDI имя USerTransactionа, и параметры подключения к JNDI. Дальше вам нужен JTA координатор. Они есть во всех appservах или отдельно. Вам нужно его где то запустить (обычно это сервер приложений). при работе SessFact будет находить его через JNDI. Самое плохое: это JDBC-XA драйверы. И синхронизация базы и JTA координатора. Думаю в случае со stanalone это практ. невозможно. И драйвера тоже боюсь проблема. По крайней мере разборки с оными для DB2 (при том что IBM более Java повёрнутый vendor) съели недавно весь мой мозг.

и того два совета: Выкидываем локальную DB. залезаем на appserv
___________________
rostov-ondon рулит!!
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424080
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да похоже они у меня съедят не только мозг при таком подходе ;-), так как Мелкософт это... ну а дальше нет слов я думаю вы меня понимаете. Да и с дровами тоже похоже большааааяя ж...а. Ну а как думаете шансы на успех есть, если все-таки попробовать две фабрики сессий сделать, и поочереди персистеть? Или мулей "бить"?

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424100
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
expp1. терминология: если appserv нету то это standalone swing appl.
2. то что вы описываете - знакомо до боли (репликация, локальные серваки ...) смею вас уверить что это не более чем рудиментарные хаки маньяка-DBA. забейте. и выкиньте "локальный сервак". лучше пусть он станет appservом
3. если вы всётаки хотите что ннить пораспределять (транзакцию): настраивайте SessFact на JTA, там же настраивайте JNDI имя USerTransactionа, и параметры подключения к JNDI. Дальше вам нужен JTA координатор. Они есть во всех appservах или отдельно. Вам нужно его где то запустить (обычно это сервер приложений). при работе SessFact будет находить его через JNDI. Самое плохое: это JDBC-XA драйверы. И синхронизация базы и JTA координатора. Думаю в случае со stanalone это практ. невозможно. И драйвера тоже боюсь проблема. По крайней мере разборки с оными для DB2 (при том что IBM более Java повёрнутый vendor) съели недавно весь мой мозг.

и того два совета: Выкидываем локальную DB. залезаем на appserv
___________________
rostov-ondon рулит!!
В догонку..... Может тогда на веб старте остваить все с одним серваком..... что скажете, а на локалках в конфиге хмл вынести настройки запросов, так как филиалам все данные не нужны?
expp, вы случайно не Ростовчанин?
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424150
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rusBobВ догонку..... Может тогда на веб старте остваить все с одним серваком..... что скажете, а на локалках в конфиге хмл вынести настройки запросов, так как филиалам все данные не нужны?
expp, вы случайно не Ростовчанин?

пожалуйста помедленнее. мой мозг уже был съёден. я ничего не понял.
надо так. база <-> сервер приложений <-> толстый клиент.
к Ростову отношения не имею, к футболу тоже. просто слышал хохму такую. нравится группа Каста
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424173
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я прекрасно понимаю что надо так, но.... :-(
Если appserv убрать....и по веб старту грузить...

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424189
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда первый минус это connection pooling. Второй отсутствие кэша второго уровня, что сильно поднимает производительность
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424426
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока не могу понять как скормить Хиберу два сервака....:-(

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424433
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в чём проблема? два конфига с разными урлами. или конфиг один но второй раз перед созданием SF он правиться кодом
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424486
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно..... а как быть с комитами, я ведь создаю две фабрики сессий...
По идеи они должны решаться одним коммитом...
Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424538
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот именно. если обе SF привязаны к JTA, то userTransaction.commit(); если это две JDBC то никак - комит первой комит второй. получили эксепшн на втором комите - говорим что облажались, больше сделать ничего нельзя. можно немного уменьшить их вуроятность предварительно flushа ceссии, перед комитами. но суть она - ЛАЖА
...
Рейтинг: 0 / 0
Hibernate и двухфазная транзакция!!!
    #34424577
rusBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Буду пока бороться с этим... ибо в понедельник нужно уже выкладывать... ну а дальше по человечески делать..... Хотя нет ни чего более постоянного чем временное...;-)


Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate и двухфазная транзакция!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]