| src/main/java/de/gedoplan/seminar/sbt/di/exercise/SbtCoreExerciseApplication.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie | |
| src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailCounter.java | ●●●●● Patch | Ansicht | Raw | Blame | Historie | |
| src/main/java/de/gedoplan/seminar/sbt/di/exercise/service/CocktailOrderService.java | ●●●●● 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); } }