@jvmchat

Страница 1191 из 2890
Nick
20.02.2017
16:23:52
Зачем такую херню делать

Транзакция должна быть коротенькой

Pavel
20.02.2017
16:24:26
а как транзакцию можно передавать?

Ivan
20.02.2017
16:24:45
Транзакция должна быть коротенькой
я с этим не спорю, но сам подход цеплять ее к потоку где то в недрах кода мне не нравится

Google
Ivan
20.02.2017
16:24:53
я хочу чтобы она была на виду

Митко Соловец?
20.02.2017
16:24:59
а как транзакцию можно передавать?
может он имеет в виду присоединиться к транзакции?

Ivan
20.02.2017
16:25:39
может он имеет в виду присоединиться к транзакции?
использовать транзакцию в разных потоках и в разных запросах в пределах одного метода например

Nick
20.02.2017
16:26:10
Вообще передавать по сути пожешь и конекшин

Просто коммит не делать

Ivan
20.02.2017
16:26:29
это верно, я так и делаю сейчас но в Java это все выглядит стремно

после Scala

Nick
20.02.2017
16:26:49
а кейс какой?
Херовый))))

Ivan
20.02.2017
16:27:13
а кейс какой?
parallelStream()

и там сохраняем че нить

Митко Соловец?
20.02.2017
16:27:23
понятно, пиздец

Nick
20.02.2017
16:27:30
Наркоман

Google
Ivan
20.02.2017
16:27:38
ясное дело для JPA это пиздец

Nick
20.02.2017
16:27:47
понятно, пиздец
Надо его отпиздить

Митко Соловец?
20.02.2017
16:28:07
нафига ты параллельно что-то сохраняешь, дружок?

Nick
20.02.2017
16:28:24
Adam
20.02.2017
16:28:38
использовать транзакцию в разных потоках и в разных запросах в пределах одного метода например
типа для конкретного метода открыть одну транзакцию и никогда не закрывать?

Митко Соловец?
20.02.2017
16:28:56
@Transactional(propagation = Propagation.REQUIRED)

Ivan
20.02.2017
16:29:24
мне не хочется чтобы транзакция цеплялась к потоку вот и все

Nick
20.02.2017
16:29:24
Видимо у него бесконечный пул)

Митко Соловец?
20.02.2017
16:29:25
не подойдет?

Ivan
20.02.2017
16:29:42
Видимо у него бесконечный пул)
parallelStream это не бесконечный пул

Nick
20.02.2017
16:29:55
Я про пул конекшинов

Ivan
20.02.2017
16:30:10
транзакция открывается на уровня одного соединения

лол

о чем ты?

Nick
20.02.2017
16:30:16
В общем ты делаешь какую-то дичь

Я про то что ты скорее всего пул конектов выберешь или все потоки в параллельных стримах заблочишь

Митко Соловец?
20.02.2017
16:31:40
бизнес задача какая

мотивация какая

Google
Nick
20.02.2017
16:32:02
бизнес задача какая
Сделать хуево видимо

Митко Соловец?
20.02.2017
16:32:43
http://stackoverflow.com/questions/18897092/sharing-a-jdbc-connection-across-threads

I wouldn't recommend you to share connection between threads, as operations with connection is quite slow and overall performance of you application may harm.

Adam
20.02.2017
16:33:19
поверим этому индусу

Igorek
20.02.2017
16:33:45
индус точно не может врать!

Ай промис ит мистер

Adam
20.02.2017
16:33:56
хотя

он в епаме работает

¯\_(ツ)_/¯

Ivan
20.02.2017
16:35:58
короче задача простая и с кучей потоков не связанная, хочется объявить транзакцию и выполнить работу в ее рамках, но нельзя тащить @Transactional и т.д. в том числе не хочется писать свой TransactionHolder который будет кешировать все в рамках потока, на Scala это делается изи в пол пинка, делаешь implicit параметр к методу и все збс, в java же учитывая что все клепают DAO(в том числе и я) это превращается в пиздец, потому что не хочется в метод добавлять Connection последним параметров, а если делать его на уровне конструктора, то объект должен жить столько же времени сколько и соединения(т.е. относительно не долго)

Митко Соловец?
20.02.2017
16:37:08
http://stackoverflow.com/questions/6952294/how-to-share-one-transaction-between-multi-threads

Митко Соловец?
20.02.2017
16:37:17
здесь JTA советуют

Мда)
я правильно понял, что Иван хочет свой Transactional запилить?

Ivan
20.02.2017
16:38:26
Прост у конекшина сет коммит фолс делаешь
блин чувак отстань от меня с этой херней я в курсе всего этого

Ivan
20.02.2017
16:39:08
ты мой коммент читал, понял что там написано?

Sergey
20.02.2017
16:40:03
ты мой коммент читал, понял что там написано?
джава гавно, скала имлиситы рулят?

Ivan
20.02.2017
16:40:14
не вегда но в этом случае да

Google
Ivan
20.02.2017
16:40:20
java не гавно

Nick
20.02.2017
16:40:49
ты мой коммент читал, понял что там написано?
Тебе уже 300 раз написали, что ты несёшь дичь

Ivan
20.02.2017
16:41:07
написал ты и Дима, два главных местных троля

Nick
20.02.2017
16:41:44
Другие просто до сих пор феиспалмят с тебя

Митко Соловец?
20.02.2017
16:41:50
написал ты и Дима, два главных местных троля
мне кажется или это неуважение к Руслану?

Ivan
20.02.2017
16:42:45
вот о чем я говорю http://scalikejdbc.org/documentation/transaction.html

Admin
ERROR: S client not available

Ivan
20.02.2017
16:42:48
примерно

в java такое не сделаешь

Nick
20.02.2017
16:43:20
Скалаик в пример

Да что с тобой

Митко Соловец?
20.02.2017
16:44:31
в java такое не сделаешь
ты по ссылке имел в виду #localTx block?

Ivan
20.02.2017
16:44:43
DB localTx { implicit session =>

объявляется сессия и нигде внутри блока явно не передается

хотя фактически она там юзается везде и код не грязный

Adam
20.02.2017
16:46:56
какой кошмар)

Ivan
20.02.2017
16:48:04
ну конечно @Transactional на методе лучше, хотя никто не в курсе че там под капотом и пишут например @Async @Transactional

Ivan
20.02.2017
16:50:43
ты уверен?

Nick
20.02.2017
16:50:48
Угу

Google
Ivan
20.02.2017
16:50:48
а если транзакция уже была открыта

Nick
20.02.2017
16:51:03
Шта

Alexander
20.02.2017
16:51:47
Шта
ты че не открываешь уже открытую транзакцию пока она открывается?

Ivan
20.02.2017
16:52:05
у тебя в методе с @Transactional вызывается другой метод с @Async @Transactional что произойдет в таком случае

будет использоваться старая транзакция или откроется новая?

Nick
20.02.2017
16:52:15
Вообще спринг создаёт прост прокси

Del
20.02.2017
16:53:05
Берял
20.02.2017
16:53:10
у тебя в методе с @Transactional вызывается другой метод с @Async @Transactional что произойдет в таком случае
падает интеграционный тест, приходит тимлид и пиздит за такой код по лицу

Del
20.02.2017
16:53:13
я не помню

Ivan
20.02.2017
16:53:26
падает интеграционный тест, приходит тимлид и пиздит за такой код по лицу
вай это же спринг все его юзают работает в 100% случаев

и JPA тоже

Ivan
20.02.2017
16:53:47
а какой пропогейщн по умолчанию
по умолчанию должен поддерживать старую

Del
20.02.2017
16:54:18
но новую открывает только если реквайрс нью, и вряд ли он по умолчанию стоит

Ivan
20.02.2017
16:55:00
тогда смотри у тебя транзакция крепится к потоку, ты вызываешь метод в другом потоке если он пытается использовать старую транзакцию то после того как закроется первый поток эта транзакция становится невалидной

секешь о чем я?

Del
20.02.2017
16:55:52
чот сложно, транзакции шарить между потоками

не сталкивался

Ivan
20.02.2017
16:56:14
я не шарю их между потоками, просто какой то неопытный чел сделал метод @Async @Transactional

Страница 1191 из 2890