Size: a a a

Spring Framework and more

2019 November 14

Ю

Юрий in Spring Framework and more
Pavel Bukhmatov
Ну вот же для поля.
Прописываем маппинг для конкретного поля и все работает

@Mapper()
public class SomeMapper {

   @Mapping(source = "title", target = "title", nullValueCheckStrategy  = NullValueCheckStrategy.ALWAYS)
   public To convertFromDTO(From dto);
вооо , благодарю, то , что надо
источник

PB

Pavel Bukhmatov in Spring Framework and more
Не знаю сработает ли без source и target... Вообще должно
источник

Ю

Юрий in Spring Framework and more
Pavel Bukhmatov
Не знаю сработает ли без source и target... Вообще должно
если без него то это уже не для конкретного поля будет
источник

PB

Pavel Bukhmatov in Spring Framework and more
хм, тоже логично)
источник

Ю

Юрий in Spring Framework and more
Pavel Bukhmatov
Не знаю сработает ли без source и target... Вообще должно
код рабочий)))) но сурс и таргет на костыльное решение смахивает немного
источник

Ю

Юрий in Spring Framework and more
Такой вопрос.
Имеется 2 сущности: А и В (связь у них 1 ко многим)
Класс A:
List<B> bList;

Класс В:
A a;

На вход мне попадается дтошка класса А, при переводе из дто в ентити в классе А в лист bList в элементе ссылке на а попадает null, как сделать так чтобы при сохранении А с листом bList без поля а чтобы хибер понимал, что надо в каждом элементе листа поля а добавить ссылку на текущий класс а?
источник

Ю

Юрий in Spring Framework and more
сейчас я делаю это вручную А a = fromDtoToEntity(a,aDto)
a.getBList().foreach(s->s.setA(a));
источник

A

Aleksey in Spring Framework and more
Sander 🕶
Всем привет,
кто работал с микросервисами, cqrs + event sourcing, amqp (kafka),
хотелось бы задать несколько вопросов.

Если мы строим архитектуру приложения с использованием паттернов cqrs + event sourcing,
то задействовано будет две базы данных,
a. первая хранит всю историю изменений "события" + snapshot,
b. вторая хранит, последними изменения

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

Разве я могу читать из базы, где мы записываем историю всех событий? Ведь говорилось что эта база только для записи!
Поэтому мне не сильно понятно, как такое правильно делать? Может надо сделать какой-нибудь materialized view ...

2) Какие инструменты вы используете для воссоздания всего этого? Ведь просто Kafka будет недостаточно я думаю,
ибо это просто брокер сообщений или все токи Kafka будет достаточно?

Нашел следующие инструменты: Lagom, Axon, Eventuate
Добрый день! Используем Axon. События для конкретной сущности достаём прямо из Event Store. Однако есть вариант построить модель для чтения и отдавать события оттуда.
источник

A

Aleksey in Spring Framework and more
Sander 🕶
и я все так и не понял, про чтение истории данных! как я могу читать данные из базы, если эта база только для записи.
На самом деле не только для записи, ведь для восстановления состояния сущности происходит чтение всех событий (или снапшота и последующих событий)
источник

Ю

Юрий in Spring Framework and more
В мапстракте интерфейсе записано:
 void updateFromDTO(PersonDto dto, @MappingTarget Person entity);

В итоге получается код:
....
if ( entity.getChildren() != null ) {
 List<Children> list = childrenMapper.toEntities( dto.getChildren() );
 if ( list != null ) {
    entity.getChildren().clear();
    entity.getChildren().addAll( list );
 }
....
Как сделать так, чтобы именно в этом поле вызывался
entity.setChildren(list) 
вместо  
entity.getChildren().clear();
entity.getChildren().addAll( list );
?
источник

Ar

Arseny -> r2d2 in Spring Framework and more
Так а зачем тебе это?
источник

PD

Plomipu Dmitri in Spring Framework and more
привет. Прошу поясните ещё разочек. Так вот у меня всё бы ничего, только jwt не хочет создаваться

public String generateToken(Authentication authentication) {
       ConcreteUserDetails userPrincipal = (ConcreteUserDetails) authentication.getPrincipal();
       LocalDateTime now = LocalDateTime.now();
       LocalDateTime expiryDate = now.plusSeconds(jwtExpirationInSec);

       System.out.println(Classes.isAvailable("java.util.Base64"));
//true
       System.out.println(new String(Base64.getDecoder().decode("ZnVjaw=="))); //fuck
       System.out.println(userPrincipal.getId().toString());
//1
       System.out.println(asDate(now).toString());
//Thu Nov 14 15:39:04 MSK 2019
       System.out.println(asDate(expiryDate));
//Fri Nov 15 15:32:24 MSK 2019
       System.out.println(jwtSecret);
//JWT-SECRET
       //System.out.println(Base64.getDecoder().decode("wtf????"));

       return Jwts.builder()
               .setSubject(userPrincipal.getId().toString())
               .setIssuedAt(asDate(now))
               .setExpiration(asDate(expiryDate))
               .signWith(HS512, jwtSecret)
               .compact();
   }

по выводу всё, что нужно для создания jwt-шки и её подписи не null, а все равно код падает на этой строке
.signWith(HS512, jwtSecret)
с эксепшеном: https://gist.github.com/DmitriEst200/b81d63b0a3642136269e5cf98a74b0a6

Я даже советы этого чувака посмотрел по данному вопросу, связанная с кодировкой base64: https://github.com/jwtk/jjwt/issues/333

У меня jdk 12-я и javax.xml.bind.DatatypeConverter я не юзаю умышленно, но стектрейс говорит, что этот я класс юзаю, которого нет в загрузчике. Декодируется строка base64 нормально, учитывая вывода в коде, что я закомментил специально. Поэтому я хз, что это может быть. Можете сказать, что я делаю не так ??
источник

PD

Plomipu Dmitri in Spring Framework and more
народ ?
источник

АС

Андрей Силютин in Spring Framework and more
Plomipu Dmitri
народ ?
Подозреваю, что этот класс используется для сериализации дат
источник

PD

Plomipu Dmitri in Spring Framework and more
Андрей Силютин
Подозреваю, что этот класс используется для сериализации дат
да, только я его не вызываю, мне нужно просто сгенерировать и подписать jwt
источник

АС

Андрей Силютин in Spring Framework and more
Plomipu Dmitri
да, только я его не вызываю, мне нужно просто сгенерировать и подписать jwt
Его вызывает DefaultJwtBuilder
источник

М

Максим in Spring Framework and more
спринг по умолчанию запросы обрабатывает асинхронно?
источник

YG

Yury Golikov in Spring Framework and more
Максим
спринг по умолчанию запросы обрабатывает асинхронно?
Для начала опередели что такое асинхронность и какое умолчание.
источник

Ar

Arseny -> r2d2 in Spring Framework and more
И что такое спринг заодно
источник

А

Артем Артемович Артемовский in Spring Framework and more
Максим
спринг по умолчанию запросы обрабатывает асинхронно?
один запрос - один поток если ты об этом. и их томкат обрабатывает)
источник