Size: a a a

2018 November 09

IP

I Prvz 🌚 in Kotlin JVM
Вот допустим у нас есть асинхронный сервер, где обработка рест запросов выполняется в 4 тредах. Также у нас есть CP(тот же Hikari), у которого есть 10 тредов. Можно же с помощью корутин организовать следующий флоу?:   1. Прилетел рест запрос, ушел в слой бизнес-логики    2. Бизнес логика отправляет долгий запрос в бд через CP, соответственно за обработку запроса ответственнен тред CP   3. Сервис уходит в ожидание ответа, но при этом поток, в котором шла обработка рест запроса не блокируется.   4. Вместо «висящего» рест запроса в том же треде начинает обрабатываться новый
источник

IM

Ivan Medvedev in Kotlin JVM
источник

AE

Alexandr Emelyanov in Kotlin JVM
я загнался, работа работа
источник

VP

Vladimir Petrakovich in Kotlin JVM
I Prvz 🌚
Вот допустим у нас есть асинхронный сервер, где обработка рест запросов выполняется в 4 тредах. Также у нас есть CP(тот же Hikari), у которого есть 10 тредов. Можно же с помощью корутин организовать следующий флоу?:   1. Прилетел рест запрос, ушел в слой бизнес-логики    2. Бизнес логика отправляет долгий запрос в бд через CP, соответственно за обработку запроса ответственнен тред CP   3. Сервис уходит в ожидание ответа, но при этом поток, в котором шла обработка рест запроса не блокируется.   4. Вместо «висящего» рест запроса в том же треде начинает обрабатываться новый
У CP нету тредов, он не про это. Просто запускайте код, работающий с БД, в отдельном пуле потоков. Ну и в идеале размеры этих пулов должны быть равны.
источник

IH

Illia Heilenko in Kotlin JVM
Здравствуйте всем, подскажите кто работал со спрингом и много,почему когда делаешь апдейт через спринг все работает, когда делаешь апдейт руками через мого клиент пишет "invalid BSON field name......"
источник

ДЧ

Денис Чиканов in Kotlin JVM
Ну, видимо, потому что имя поля некорректное?
источник

IP

I Prvz 🌚 in Kotlin JVM
Vladimir Petrakovich
У CP нету тредов, он не про это. Просто запускайте код, работающий с БД, в отдельном пуле потоков. Ну и в идеале размеры этих пулов должны быть равны.
У CP есть свой тредпул, он и конфижится и в логах можно явно видеть hikari-cp
источник

BP

Bogdan Panchenko in Kotlin JVM
Illia Heilenko
Здравствуйте всем, подскажите кто работал со спрингом и много,почему когда делаешь апдейт через спринг все работает, когда делаешь апдейт руками через мого клиент пишет "invalid BSON field name......"
Так он пишет
источник

IH

Illia Heilenko in Kotlin JVM
Почему спринг не пишет?
источник

IH

Illia Heilenko in Kotlin JVM
Модель данных не менялась,имя полей тоже
источник

VP

Vladimir Petrakovich in Kotlin JVM
I Prvz 🌚
У CP есть свой тредпул, он и конфижится и в логах можно явно видеть hikari-cp
Хм, давно с ним не сталкивался, но что-то такого не помню. Может, я ошибаюсь. Но по идее CP нужен только один свой тред для управления соединениями, а в каком потоке делать сами запросы, решает вызывающая сторона.
источник

BP

Bogdan Panchenko in Kotlin JVM
Там в монге можно глянуть как поле называется
источник

BP

Bogdan Panchenko in Kotlin JVM
Illia Heilenko
Почему спринг не пишет?
Наверное потому что он что-то зеает, а ты нет. Вот такая работа со спрингом. Хотя он может ошибку проглатывает
источник

IH

Illia Heilenko in Kotlin JVM
Ну поле так же называется, ничего не менялось

Мне нужно иметь возможность делать апдейт руками
источник

BP

Bogdan Panchenko in Kotlin JVM
Illia Heilenko
Ну поле так же называется, ничего не менялось

Мне нужно иметь возможность делать апдейт руками
А ты селен. Но вопрос уже не про jvm
источник

ДЧ

Денис Чиканов in Kotlin JVM
Illia Heilenko
Ну поле так же называется, ничего не менялось

Мне нужно иметь возможность делать апдейт руками
Значит, не так.
источник

IH

Illia Heilenko in Kotlin JVM
Вопрос про jvm spring data, mongo
источник

ДЧ

Денис Чиканов in Kotlin JVM
Illia Heilenko
Вопрос про jvm spring data, mongo
1) Это вопрос про монго и капельку про спрингдату
2) Это вопрос не про Котлин в любом случае
источник

IP

I Prvz 🌚 in Kotlin JVM
Vladimir Petrakovich
Хм, давно с ним не сталкивался, но что-то такого не помню. Может, я ошибаюсь. Но по идее CP нужен только один свой тред для управления соединениями, а в каком потоке делать сами запросы, решает вызывающая сторона.
Хм, все-таки наверное Вы более корректно написали. Я зря объединил CP и тредпул
источник

IP

I Prvz 🌚 in Kotlin JVM
@frostbit В любом случае, пока висит запрос к базе, можно отправить корутину ждать ответа, при этом она не заблокирует тред?
источник