Hendrik Jungnitsch
2022-09-30 20bc6bff6fe3c06c24c9a35bdf7bb0d894ee6c85
exercise11
1 Dateien hinzugefügt
2 Dateien geändert
40 ■■■■■ Geänderte Dateien
src/main/java/de/gedoplan/seminar/sbt/di/exercise/SbtCoreExerciseApplication.java 2 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailCounter.java 37 ●●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailOrderService.java 1 ●●●● Patch | Ansicht | Raw | Blame | Historie
src/main/java/de/gedoplan/seminar/sbt/di/exercise/SbtCoreExerciseApplication.java
@@ -3,7 +3,9 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.scheduling.annotation.EnableAsync;
@EnableAsync
@ConfigurationPropertiesScan
@SpringBootApplication
public class SbtCoreExerciseApplication {
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailCounter.java
Neue Datei
@@ -0,0 +1,37 @@
package de.gedoplan.seminar.sbt.di.exercise.service;
import de.gedoplan.seminar.sbt.di.exercise.domain.CocktailOrder;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.concurrent.atomic.AtomicInteger;
@Component
public class CocktailCounter {
  private AtomicInteger count = new AtomicInteger();
  @Autowired
  Logger logger;
  @EventListener
  @Async
  public void countCocktail(CocktailOrder cocktailOrder) {
    int cocktailCount = cocktailOrder
        .getOrderDetails()
        .values()
        .stream()
        .mapToInt(Integer::intValue)
        .sum();
    if (this.logger.isDebugEnabled()) {
      this.logger.info("Cocktail count ordered: " + cocktailCount);
    }
    int currentCount = this.count.addAndGet(cocktailCount);
    this.logger.info("Cocktail count total: " + currentCount);
  }
}
src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailOrderService.java
@@ -47,6 +47,7 @@
    if (!cocktailOrder.isPlaced()) {
      cocktailOrder.place();
      eventPublisher.publishEvent(cocktailOrder);
    }
  }