|
|
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01Да нет это реальная задача У реальной задачи - реальная постановка. Здесь же ты её ещё не рассказал. buldozer01 как и остальные линки которые ты не поленился поискать непонятно только зачем. Да, столько труда приложил. Сначала в пофиль зайти, потом темы автора. Аж два клика. Чуть не надорвался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:36:38 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Я описал необходимое и достаточное количество условий задачи А зачем оно - на форум нет смысла писать. Нечего сказать дельного по теме - прошу не троллить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:41:41 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01Я описал необходимое и достаточное количество условий задачи Нет. Ты описал свое решение задачи. buldozer01А зачем оно - на форум нет смысла писать. Без сомнения. buldozer01Нечего сказать дельного по теме - прошу не троллить. Заметь, я тут единственный кто тебе пытается объяснить про XA ресурсы и почему работа внутри одной DB транзакции не может бы конкурентной и т.п. А ты как хамил так и продолжаешь. И чем тебе предложеные решения не подходят, ты тоже себя не утруждаешь объяснить. Зато чего не по теме ляпнуть, так это в первую очередь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:48:53 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01Blazkowicz, Я описал необходимое и достаточное количество условий задачи А зачем оно - на форум нет смысла писать. Нечего сказать дельного по теме - прошу не троллить. Вот всегда так - хочешь помочь, сделать как лучше, а получается:) ПС. То что ты описал это не задача, а бредовый способ решить какую-то задачу, а вот задачу мы как раз и хотели у тебя узнать, чтобы помочь. Не хочешь как хочешь:). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:51:00 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Это не хамство а просьба не отходить от темы - и я не разу не нахамил за все время обсуждения этой темы и предыдущих. За помощь - гигантское спасибо. А вот обсуждение - нафига я завел эту тему - ах ну да там же он еще кучу подобной хрени завел давайте дружно поржем - я подругому как троллинг не назову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:52:10 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
Задача проста Есть транзакционный механизм распределенный между тредами. Транзакция XA одна тредов много. Все что сделано в конекшене одного треда должно быть видно другому треду. Вот буквальная постановка задачи - нет никой постановки от бизнеса и близко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:53:32 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01Задача проста Есть транзакционный механизм распределенный между тредами. Транзакция XA одна тредов много. Все что сделано в конекшене одного треда должно быть видно другому треду. Вот буквальная постановка задачи - нет никой постановки от бизнеса и близко. Ок, и опять вы про свое... Скажите, зачем вы ушли от стандартной схемы одна транзакция - один коннекшен? Типа чтобы быстрее было? Так что мешает разбить задачу на независимые наборы данных и обработать в разных коннекшенах? Вот то что вы описали в принципе невозможно. Точнее возможно, но доступ к коннекшену все равно будет последовательный изо всех потоков, так смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:57:23 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
забыл ник, Точнее одна транзакция - один коннекшен - один тред ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:58:06 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
забыл ник, Смысл в том что в транзакции также может быть и JMS продюсер и она нужна распределенная и единая между тредами. В принципе пока нас устроил вариант с блокировкой на каждом execute ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 00:59:27 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
забыл никТочнее возможно, но доступ к коннекшену все равно будет последовательный изо всех потоков, так смысл? Я более чем уверен что в конечной системе к одному соединению будет именно такой последовательный доступ, просто из разных потоков. Но топикастеру нужно время чтобы это понять. Вот и никак не ответит ни на один комент в тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:00:53 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
забыл никТочнее одна транзакция - один коннекшен - один тред Не обязательно. Если используется асинхронный подход, то вполне можно перебросить конекшн в другой поток и асинхронно продолжить тразнакцию. Но автор же не хочет объяснить какая у него вокруг этой задачи архитектура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:03:52 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, >>Вот и никак не ответит ни на один коммент в тему. Ну Ну ... Идея складировать все sql запросы в очередь и потом их выполнять вот над чем я в серьез думаю Но с локом оно синхронно и как то надежнее что ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:04:11 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
Архитектура проста JVM + Arjuna Транзакционный менеджер + ActiveMQ что еще из архитектуры ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:05:20 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01забыл ник, Смысл в том что в транзакции также может быть и JMS продюсер и она нужна распределенная и единая между тредами. В принципе пока нас устроил вариант с блокировкой на каждом execute Фига се, это уже интереснее:) уже и JMS появился. Вот только JMS нужен немного для другого, если не секрет расскажите а зачем такой вот изврат? Глядишь через пару шагов и до сути дойдем. Обычно JMS как связан с транзакциями ведь - достал данные из базы, чета сделал, кинул сообщение в JMS, транзакцию закрыл.. Суть в том чтобы транзакционно доставить мессадж или не доставить при роллбаке, а код самого листенера пихать в транзакцию.. попахивает чем-то нехорошим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:06:54 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01В принципе пока нас устроил вариант с блокировкой на каждом execute Здесь как раз хорошо должна подойти оптимистичная блокировка, которую ты так хотел применить. Ведь по логике конкурентные запросы к одной транзакции должны быть исключены. Т.е. в большинстве случаев не происходить вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:07:22 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01Идея складировать все sql запросы в очередь и потом их выполнять вот над чем я в серьез думаю Но с локом оно синхронно и как то надежнее что ли Как раз-таки очередь - идеальный вариант при вашем раскладе, ведь очередь реализована на тех же самых локах, а когда пишешь их вручную - есть шанс напортачить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:08:31 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
забыл ник, >> Обычно JMS как связан с транзакциями ведь - достал данные из базы, чета сделал, кинул сообщение в JMS Обычно я по утрам пью чай а вот сегодня выпил кефиру .... сорри конечно - но бывают и другие кейсы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:10:23 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
забыл ник, Очередь асинхронна и непонятно что там с видимостью Кто то сделал execute и думает что в базе уже все ок Ан нет оно тока в очередь встало Косяки на прикладном уровне ацкие могут быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:11:44 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01>>Вот и никак не ответит ни на один коммент в тему. Ну Ну ... Ну, вот опять. buldozer01Идея складировать все sql запросы в очередь и потом их выполнять вот над чем я в серьез думаю Но с локом оно синхронно и как то надежнее что ли 13551827 Я тебе эти два решения первым же коментом привел. Отказ от пессимистичных блокировок может серьезно увеличить производительность. Иначе у тебя вся асинхронность лесом пойдёт. Ты её обратно к синхронности приведешь за счет локов. Чем лок "надежнее" - не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:11:54 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01Транзакция XA одна тредов много. Я тебе уже выше писал. Не мешай в кучу глобальную транзакцию и транзакцию в базе. Но ты это успешно продолжаешь игнорировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:13:58 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01забыл ник, >> Обычно JMS как связан с транзакциями ведь - достал данные из базы, чета сделал, кинул сообщение в JMS Обычно я по утрам пью чай а вот сегодня выпил кефиру .... сорри конечно - но бывают и другие кейсы Нет я ж не спорю, все может быть, можно и сахар в чае рукой размешивать. Ну когда ложек нет. Ну надо так надо - вам виднее, хотя очень похоже на применение правильных инструментов неправильным образом. Тогда складируйте все в очередь, как вы и написали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:15:49 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
На прикладном уровне юзера делает int t = execute ("select t from t"); После execute я уснуть должен ? и дождаться пока результат в очереди вычислится ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:17:02 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01забыл ник, Очередь асинхронна и непонятно что там с видимостью Кто то сделал execute и думает что в базе уже все ок Ан нет оно тока в очередь встало Косяки на прикладном уровне ацкие могут быть Какие если консьюмер один? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:17:51 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
забыл ник, проблемы на с JMS а с базой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:19:10 |
|
||
|
Connection between threads
|
|||
|---|---|---|---|
|
#18+
buldozer01Обычно я по утрам пью чай а вот сегодня выпил кефиру .... сорри конечно - но бывают и другие кейсы Тебе дело пишут, а ты вы-бываешься. Смотри. Продюсер открывает XA транзакцию. Отрывает DB Connection. Что-то туда пишет. Отправляет асинхронное сообщение. Консюмер получает сообщение - состояние он как раз должен получить из сообщения, а не из базы данных. Обрабатывает его через свой DB Connection и вместе они дружно комитят XA транзакцию и оба DB соединения. Разница в том что ты хочешь состояния вычитать через базу. Нафига? Когда его можно передать через очередь. С другой стороны можно передать ссылку на Connection. И пусть себе читает. Тогда важно чтобы не использовались топики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2012, 01:21:31 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38060781&tid=2130404]: |
0ms |
get settings: |
15ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
54ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
100ms |
get tp. blocked users: |
2ms |
| others: | 290ms |
| total: | 514ms |

| 0 / 0 |
