Size: a a a

Java/Kotlin Web and more

2020 November 24

k

kuzznya in Java/Kotlin Web and more
Alexandr Emelyanov
Так его настроить надо
То есть если я делаю new ObjectMapper, я не получаю дефолтный?
Я его конфигурирую (fail on unknown задаю false), но это не помогло тогда
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Yury Golikov
По моим личным ощущениям орм больше проблем создала чем решила
Все зависит от сложности доменной модели и нагрузок
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
kuzznya
То есть если я делаю new ObjectMapper, я не получаю дефолтный?
Я его конфигурирую (fail on unknown задаю false), но это не помогло тогда
Дефолт, но спринг его настраивает не мало
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Я бы ещё инжектировал message converter и посмотрел что там
источник

k

kuzznya in Java/Kotlin Web and more
Понял, буду разбираться
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Или ты совсем руками только конвертишь?
источник

k

kuzznya in Java/Kotlin Web and more
Я сначала читаю json в один класс, а потом превращаю его в другой, загруженный другим класслоадером
Пока что это все действия
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
kuzznya
То есть если я делаю new ObjectMapper, я не получаю дефолтный?
Я его конфигурирую (fail on unknown задаю false), но это не помогло тогда
new ObjectMapper() создаст дефолтный для Джексона, никак не затронутый спрингом.
Если у вас спринг-бут, то он создает ObjectMapper и конфигурирует согласно настройкам application.yaml и выставляет его в виде синглтон-бина, так что можно просто инжектить его, где нужно, и использовать - и он уже будет настроен так, как надо.
источник

C

Cyclone in Java/Kotlin Web and more
Чот я помню, хочу автовайрнуть ObjectMapper, а спрингбут мне - нет такого бина. Может, он из starter-web'а приходит, а у меня в том  модуле web'а нет - точно не помню...
источник

EI

Edem Injection in Java/Kotlin Web and more
А почему выбирают вебфлакс? Из-за сложности мультитреда?
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
Cyclone
Чот я помню, хочу автовайрнуть ObjectMapper, а спрингбут мне - нет такого бина. Может, он из starter-web'а приходит, а у меня в том  модуле web'а нет - точно не помню...
Ну да, там стоит @ConditionalOnClass(Jackson2ObjectMapperBuilder.class), этот класс из spring-web
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
Edem Injection
А почему выбирают вебфлакс? Из-за сложности мультитреда?
нет, вебфлакс как раз сложнее, чем стандартная модель программирования, где ты пишешь синхронный код и о тредах большую часть времени не думаешь.

выбирают как раз ради того, чтобы не создавался тред на каждый запрос. когда идет тысяча одновременных запросов, то такая модель становится не очень производительной и тратит много памяти впустую (т.к. 1 тред занимает примерно 1 мб сам по себе)
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Ruslan Stelmachenko
нет, вебфлакс как раз сложнее, чем стандартная модель программирования, где ты пишешь синхронный код и о тредах большую часть времени не думаешь.

выбирают как раз ради того, чтобы не создавался тред на каждый запрос. когда идет тысяча одновременных запросов, то такая модель становится не очень производительной и тратит много памяти впустую (т.к. 1 тред занимает примерно 1 мб сам по себе)
Ещё большое количество тредов так же не бесплатно по cpu
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
Alexandr Emelyanov
Ещё большое количество тредов так же не бесплатно по cpu
Верно. Это я и имел ввиду под "становится не очень производительной". ОС начинает тратить больше ресурсов на переключение контекста между потоками, чем на саму работу внутри потоков.
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Надо микронавт попробовать, там hibernate reactive пришили уже
источник

EI

Edem Injection in Java/Kotlin Web and more
Ruslan Stelmachenko
нет, вебфлакс как раз сложнее, чем стандартная модель программирования, где ты пишешь синхронный код и о тредах большую часть времени не думаешь.

выбирают как раз ради того, чтобы не создавался тред на каждый запрос. когда идет тысяча одновременных запросов, то такая модель становится не очень производительной и тратит много памяти впустую (т.к. 1 тред занимает примерно 1 мб сам по себе)
Спасибо
источник

E

EXL in Java/Kotlin Web and more
Ребят, Spring Boot Native на GraalVM ковырял кто-нибудь ради интереса?
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Ruslan Stelmachenko
Верно. Это я и имел ввиду под "становится не очень производительной". ОС начинает тратить больше ресурсов на переключение контекста между потоками, чем на саму работу внутри потоков.
Но есть одно но - при малом значении конкуретности производительность вебфлакса устремится к классическому mvc. Ещё такой момент - если соотношение ожидания вода вывода к полезной работе cpu очень мало, то смысла от вебфлакса будет мало, тредов на его работу будет гораздо меньше
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
Alexandr Emelyanov
Но есть одно но - при малом значении конкуретности производительность вебфлакса устремится к классическому mvc. Ещё такой момент - если соотношение ожидания вода вывода к полезной работе cpu очень мало, то смысла от вебфлакса будет мало, тредов на его работу будет гораздо меньше
Я как-то читал статью про то, как Нетфликс переходил со своего синхронного Zuul на асинхронный (который они вроде так и не релизнули, или релизнули, но спринг уже к тому времени начал продвигать свой cloud-gateway, не помню). И не смотря на то, что там нагрузки довольно приличные, на большинстве сервисов они не получили никакого выигрыша. На некоторых выигрыш был 30%. Так что да)
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Ruslan Stelmachenko
Я как-то читал статью про то, как Нетфликс переходил со своего синхронного Zuul на асинхронный (который они вроде так и не релизнули, или релизнули, но спринг уже к тому времени начал продвигать свой cloud-gateway, не помню). И не смотря на то, что там нагрузки довольно приличные, на большинстве сервисов они не получили никакого выигрыша. На некоторых выигрыш был 30%. Так что да)
Zuul2 вышел, да, но в spring cloud его не затащили)
источник