Size: a a a

2021 November 24

AU

Anton U in Astana JKUG
Тогда вместо одного относительно сложного контроллера у тебя будет два относительно простых
источник

AU

Anton U in Astana JKUG
И да, в любом случае нужно делать dto / pojo и на вход и на выход из контроллера
Да, на выход тоже
Как раз для того чтобы контролировать что апдейтится
источник

AU

Anton U in Astana JKUG
Если принимать на влет Person напрямую то тебе просто напостят в апдейт метод новый айдишник - будет очень весело дебажить потом
Так как ты никак не фильтруешь входные поля - можно любое передать и гибер его перепишет
источник

AU

Anton U in Astana JKUG
В GitHub в свое время была такая дыра, можно было апдейтить комменты и переписывать им author_id )
источник

AU

Anton U in Astana JKUG
Чтобы не писать кучу .set(.get()) вручную для большого кол-ва полей - можно юзать мапперы типа mapstruct
источник
2021 November 25

ES

Eugene Svalukhin in Astana JKUG
Кто помнит, есть ли в concurrent пакете класс, который может в себе хранить элементы и релизить их в одной из следующей ситуации
а) количество элементов достигло какого-то порогового значения
б) произошел таймаут и нужно зарелизить хранимые элементы?
источник

ДД

Дмитрий Дашко... in Astana JKUG
a) Semaphore не подойдет?
б) Не помню такое
источник

M

Maksat in Astana JKUG
источник

ES

Eugene Svalukhin in Astana JKUG
Если в Guava есть или Apache Collections, то тоже не проблема, просто руками такого делать не хочется
источник

ES

Eugene Svalukhin in Astana JKUG
если готовой не найдется, то придется что-то фигачить с использованием его
источник

V

Vladimir in Astana JKUG
любой кеш, например caffeine?
источник

ES

Eugene Svalukhin in Astana JKUG
в общем что мне надо. Есть ClickHouse, который не любит частых insertoв, поэтому советуют ему батчами проводить инсерты. Есть сообщения которые приходят из другого приложения, которые надо в CH поместить. В сообщении может быть до 1000 элементов, самих сообщений дофига, поэтому бы хотелось условно сделать буфер, который бы собирал условно 100000 элементов и отправил их в CH. Но поток входящих сообщений неравномерен, поэтому бы хотелось в случае когда в буфере не 100000 сообщений, чтобы они записались в CH по таймауту
источник

M

Maksat in Astana JKUG
ложить в List и вручную проверять size, если size > N то отправлять в КХ
ScheduledExecutorService для отправки неполных батчей по расписанию
такой вариант не подойдет? Я так делал похожую задачу
источник

ES

Eugene Svalukhin in Astana JKUG
он конечно подойдет, но хотелось бы уже что-нибудь стандартное, полюбому же где-то должно быть, чтобы свой велосипед не делать :)
источник

ДД

Дмитрий Дашко... in Astana JKUG
👍
источник

N

N+im+n in Astana JKUG
Kafka может помочь
источник

ES

Eugene Svalukhin in Astana JKUG
ну вот мы как раз из кафки и забираем :)
источник

ДД

Дмитрий Дашко... in Astana JKUG
тогда отбой, Семафор не надо) в concurrent же в основном лежат Классы для работы с многопоточкой и с блокированием потоков, в этом случае вообще нельзя потоки блочить
источник

N

N+im+n in Astana JKUG
ааа там уже частично сгруппированы данные.
можно попробовать через hazelcast queue, либо да своя реализация буфера
источник

AU

Anton U in Astana JKUG
в rx такое есть
источник