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

Спасибо!

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

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

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

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
29.03.2007, 11:41:26
    #34424003
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate и двухфазная транзакция!!!
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
29.03.2007, 11:55:29
    #34424080
rusBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate и двухфазная транзакция!!!
Да похоже они у меня съедят не только мозг при таком подходе ;-), так как Мелкософт это... ну а дальше нет слов я думаю вы меня понимаете. Да и с дровами тоже похоже большааааяя ж...а. Ну а как думаете шансы на успех есть, если все-таки попробовать две фабрики сессий сделать, и поочереди персистеть? Или мулей "бить"?

Я болею за СКА РОСТОВ!!!
Трепещи Москва, мы уже в первой лиге ;-)
...
Рейтинг: 0 / 0
29.03.2007, 12:00:25
    #34424100
rusBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate и двухфазная транзакция!!!
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
29.03.2007, 12:09:37
    #34424150
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate и двухфазная транзакция!!!
rusBobВ догонку..... Может тогда на веб старте остваить все с одним серваком..... что скажете, а на локалках в конфиге хмл вынести настройки запросов, так как филиалам все данные не нужны?
expp, вы случайно не Ростовчанин?

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

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

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


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


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