Download

Access to this magazine issue is currently not available to you. You must be logged in and have a valid subscription.

Download

Access to this magazine issue is currently not available to you. You must be logged in and have a valid subscription.

Java aktuell 03/2019

Publication date  06.03.2019
Die Änderungen der Lizenzregelung für Java und JDK durch Oracle ist in aller Munde und sorgt für Verunsicherung. Michael Paege, OPITZ Consulting, klärt in seinem Artikel detailliert darüber auf, wie Entwickler reagieren können und zeigt Handlungsalternativen auf. Zum zehnjährigen Jubiläum des iJUG finden Sie außerdem interessante Informationen zur Vereinsgeschichte sowie weitere spannende Artikel zu aktuellen Trends aus dem Java-Themenkosmos, wie beispielsweise zum Projekt Helidon, Axon und CQRS. Wir wünschen Ihnen viel Spaß beim Lesen!  Implementierung von Event-Storming-Modellen mit Axon (S. 53 - 60)
Sven-Torben Janus 
public class Produktempfehlung {


@Inject
private EmpfohleneProdukte empfohleneProdukte;

@Inject
private Repository warenkoerbe;

@QueryHandler
public List on(EmpfohleneProdukteQuery query) {
return empfohleneProdukte.findByKundenId(query.getKundenId());
}

@EventHandler
public void on(WarenkorbBestellt event) {
List bestellteProdukte = warenkoerbe.load(event.getWarenkorbId().toString())
.invoke(Warenkorb::getProdukte).keySet()
.stream()
.map(Produkt::getProduktId)
.map(produktId -> new EmpfohlenesProdukt(event.getKundenId(), produktId))
.collect(Collectors.toList());
empfohleneProdukte.removeAll(bestellteProdukte);
}

@EventHandler
public void on(ProduktAusWarenkorbEntfernt event) {
empfohleneProdukte.add(new EmpfohlenesProdukt(event.getKundenId(), event.getProduktId()));
}

}

Listing 8
Please wait