Size: a a a

2020 September 21

D

Dima in pro.jvm
Sergey Yezhov
Как по мне DTO больше к передаче инфы по сети относится. Внутри же основной логики работа идёт с доменной моделью. Хотелось бы ещё почитать именно какой-то  источник, где 1) описаны эти архитектурные паттерны в общем, 2) описаны в контексте спринга.
Просто никто особо не мешает маппить в контроллере: сервис принимает/возвращает модель в рамках транзакционного метода, контроллер мапит модель. Присутствие managed jpa сущности в контроллере не обязательно при этом.
>Как по мне DTO больше к передаче инфы по сети относится.

это необазтельно

>Внутри же основной логики работа идёт с доменной моделью.

Вот вы путаете, потому что считаете, что JPA Model == Domain Model. Но это не так. На самом деле Domain model, это совокупность всех ваших сервисов-интерфейсов и их реализаций + дто + репозитории/дао. Это Anemic Model. И для контроллера общение с моделью выглядит, как вызов апи сервиса и получение результата в виде DTO.

Паттерны эти гуглятся легко, у того же Фаулера, а в репах спринга можно найти примеры.


>Присутствие managed jpa сущности в контроллере не обязательно при этом.
у вас протекла скрытая часть доменной модели, к которой напрямую получил доступ веб-слой, это неправильно, так еще и проблемы с перфомансом и поддержкой кода доставляет.
источник

IG

Ilya Grudsky in pro.jvm
Kirill Shelopugin
Свой пул на получение коннекта, кажется. Твой код будет выполняться в твоём пуле. Разве нет?
Так и есть, Reactor не свитчнет пул и не освободит netty thread.
источник

KS

Kirill Shelopugin in pro.jvm
Плохо.
источник

D

Dima in pro.jvm
Kirill Shelopugin
Свой пул на получение коннекта, кажется. Твой код будет выполняться в твоём пуле. Разве нет?
все так
источник

KS

Kirill Shelopugin in pro.jvm
Реактор не умеет шифтить вычисления между пулами?
источник

I

Illia in pro.jvm
Ребята. Вопрос про testcontainers и интеграционные тесты. Подскажите возможность в application.yml новосозданного контейнера динамически установить новое значение проперти
источник

D

Dima in pro.jvm
просто человек, я так понял, хочет переиспользовать свой пул КАК для блокирующего вызова, так и для хранения коннектов
источник

IG

Ilya Grudsky in pro.jvm
умеет, но он же не знает что это нужно
источник

D

Dima in pro.jvm
Kirill Shelopugin
Реактор не умеет шифтить вычисления между пулами?
все методы есть
источник

R

Rushan in pro.jvm
Tolegen Izbassar
Но кажется вообще желательно избегать поднятия всего окружения. Писать тесты, в тестах поднимать контейнеры.
А можно про тесты подробнее. Сейчас тесты на cucumber, и вроде как в отдельном контейнере, но это при деплое, и там как раз нужно много чего, в том числе и авторизация через кейклоак. Локально это все тестить не получается. Как раз думаю поднимать максимально близкое окружение, но выглядит громоздко и кажется избыточно. Порекомендуйте хотя бы что почитать в этом направлении
источник

SY

Sergey Yezhov in pro.jvm
Dima
>Как по мне DTO больше к передаче инфы по сети относится.

это необазтельно

>Внутри же основной логики работа идёт с доменной моделью.

Вот вы путаете, потому что считаете, что JPA Model == Domain Model. Но это не так. На самом деле Domain model, это совокупность всех ваших сервисов-интерфейсов и их реализаций + дто + репозитории/дао. Это Anemic Model. И для контроллера общение с моделью выглядит, как вызов апи сервиса и получение результата в виде DTO.

Паттерны эти гуглятся легко, у того же Фаулера, а в репах спринга можно найти примеры.


>Присутствие managed jpa сущности в контроллере не обязательно при этом.
у вас протекла скрытая часть доменной модели, к которой напрямую получил доступ веб-слой, это неправильно, так еще и проблемы с перфомансом и поддержкой кода доставляет.
Ок, спасибо
источник

KS

Kirill Shelopugin in pro.jvm
В джаве нет какого-то инструмента поверх доступа к БД, чтобы автоматически шифтить вычисления на нужный пул для получения коннекта и выполнения запроса, а потом обратно в рабочий пул?
источник

IG

Ilya Grudsky in pro.jvm
Kirill Shelopugin
В джаве нет какого-то инструмента поверх доступа к БД, чтобы автоматически шифтить вычисления на нужный пул для получения коннекта и выполнения запроса, а потом обратно в рабочий пул?
Нет, только ручками это делать нужно. Либо использовать R2DBC
источник

А

Артём Курилко... in pro.jvm
Переслано от Артём Курилко...
в классе Thread есть вот такой конструктор
public Thread(Runnable target) {
       init(null, target, "Thread-" + nextThreadNum(), 0);
   }
источник

А

Артём Курилко... in pro.jvm
Переслано от Артём Курилко...
как через Thread.currentThread() получить этот target?
источник

А

Артём Курилко... in pro.jvm
Или как другим способом получить этот аргумент
источник

AB

Andrew Bystrov in pro.jvm
Артём Курилко
Или как другим способом получить этот аргумент
через рефлексию ( но я уверен, что тебе это не надо)
источник

QH

Quantum Harmonizer in pro.jvm
Артём Курилко
Переслано от Артём Курилко
как через Thread.currentThread() получить этот target?
тред (зачем-то) реализует Runnable, так что currentThread() уже в каком-то смысле target.
источник

А

Артём Курилко... in pro.jvm
Quantum Harmonizer
тред (зачем-то) реализует Runnable, так что currentThread() уже в каком-то смысле target.
по идеи если это была бы ссылка на экземпляр реализующего класса, тогда я бы мог вызвать методы этого класса, но  не могу
источник

QH

Quantum Harmonizer in pro.jvm
Артём Курилко
по идеи если это была бы ссылка на экземпляр реализующего класса, тогда я бы мог вызвать методы этого класса, но  не могу
Што?
источник