From 9b35054423f04c8e401d2beb4fa0a874c9c132ba Mon Sep 17 00:00:00 2001 From: Jesper Saastamoinen Date: Fri, 31 Oct 2025 11:50:59 +0100 Subject: [PATCH] Cleaned up a bit --- .../se/saasta/rabbitmq/model/AkkaData.java | 13 +++++++++++ .../UpdateAktorCronJob.java | 14 +++++++----- .../se/saasta/rabbitmq/model/AkkaData.java | 20 +++++++++++++++++ .../rabbitmq/processor/AkkaProcessor.java | 19 ++++++---------- .../rabbitmq/processor/StaraProcessor.java | 4 ++-- .../saasta/rabbitmq/service/AkkaService.java | 5 ++++- .../rabbitmq/producer/StaraResource.java | 22 +++---------------- 7 files changed, 58 insertions(+), 39 deletions(-) create mode 100644 rabbitmq-akka/src/main/java/se/saasta/rabbitmq/model/AkkaData.java rename rabbitmq-akka/src/main/java/se/saasta/rabbitmq/{counter => producer}/UpdateAktorCronJob.java (71%) create mode 100644 rabbitmq-aver/src/main/java/se/saasta/rabbitmq/model/AkkaData.java diff --git a/rabbitmq-akka/src/main/java/se/saasta/rabbitmq/model/AkkaData.java b/rabbitmq-akka/src/main/java/se/saasta/rabbitmq/model/AkkaData.java new file mode 100644 index 0000000..05aa9e7 --- /dev/null +++ b/rabbitmq-akka/src/main/java/se/saasta/rabbitmq/model/AkkaData.java @@ -0,0 +1,13 @@ +package se.saasta.rabbitmq.model; + +public class AkkaData { + private String orgnr; + + public String getOrgnr() { + return orgnr; + } + + public void setOrgnr(String orgnr) { + this.orgnr = orgnr; + } +} diff --git a/rabbitmq-akka/src/main/java/se/saasta/rabbitmq/counter/UpdateAktorCronJob.java b/rabbitmq-akka/src/main/java/se/saasta/rabbitmq/producer/UpdateAktorCronJob.java similarity index 71% rename from rabbitmq-akka/src/main/java/se/saasta/rabbitmq/counter/UpdateAktorCronJob.java rename to rabbitmq-akka/src/main/java/se/saasta/rabbitmq/producer/UpdateAktorCronJob.java index a5c9c7f..e57aa14 100644 --- a/rabbitmq-akka/src/main/java/se/saasta/rabbitmq/counter/UpdateAktorCronJob.java +++ b/rabbitmq-akka/src/main/java/se/saasta/rabbitmq/producer/UpdateAktorCronJob.java @@ -1,18 +1,20 @@ -package se.saasta.rabbitmq.counter; +package se.saasta.rabbitmq.producer; import io.quarkus.scheduler.Scheduled; import io.quarkus.scheduler.ScheduledExecution; import jakarta.enterprise.context.ApplicationScoped; import org.eclipse.microprofile.reactive.messaging.Channel; import org.eclipse.microprofile.reactive.messaging.Emitter; +import se.saasta.rabbitmq.model.AkkaData; +import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; @ApplicationScoped public class UpdateAktorCronJob { @Channel("akka") - Emitter quoteRequestEmitter; + Emitter emitter; private AtomicInteger counter = new AtomicInteger(); @@ -33,8 +35,10 @@ public class UpdateAktorCronJob { @Scheduled(cron = "{cron.expr}") void cronJobWithExpressionInConfig() { - counter.incrementAndGet(); - System.out.println("Cron expression configured in application.properties"); - quoteRequestEmitter.send("AKKA actor was updated"); + AkkaData akkaData = new AkkaData(); + UUID uuid = UUID.randomUUID(); + akkaData.setOrgnr(uuid.toString()); + emitter.send(akkaData); + System.out.println("Emitted that actor was updated"); } } \ No newline at end of file diff --git a/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/model/AkkaData.java b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/model/AkkaData.java new file mode 100644 index 0000000..661c896 --- /dev/null +++ b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/model/AkkaData.java @@ -0,0 +1,20 @@ +package se.saasta.rabbitmq.model; + +public class AkkaData { + private String orgnr; + + public String getOrgnr() { + return orgnr; + } + + public void setOrgnr(String orgnr) { + this.orgnr = orgnr; + } + + @Override + public String toString() { + return "AkkaData{" + + "orgnr='" + orgnr + '\'' + + '}'; + } +} diff --git a/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/AkkaProcessor.java b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/AkkaProcessor.java index fd70e48..764f75a 100644 --- a/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/AkkaProcessor.java +++ b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/AkkaProcessor.java @@ -1,32 +1,27 @@ package se.saasta.rabbitmq.processor; +import io.vertx.core.json.JsonObject; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import org.eclipse.microprofile.reactive.messaging.Incoming; -import se.saasta.rabbitmq.entity.AkkaAktorEntity; +import se.saasta.rabbitmq.model.AkkaData; import se.saasta.rabbitmq.service.AkkaService; import java.util.Random; -import java.util.UUID; @ApplicationScoped public class AkkaProcessor { @Inject - AkkaService service; + private AkkaService service; private Random random = new Random(); @Incoming("akka") - public void processCron(String message) throws InterruptedException { - System.out.println("ALOO"); - System.out.println(message); - - AkkaAktorEntity entity = new AkkaAktorEntity(); - UUID uuid = UUID.randomUUID(); - entity.setOrgnr(uuid.toString()); - - service.saveAktor(entity); + public void process(JsonObject quoteRequest) throws InterruptedException { + AkkaData data = quoteRequest.mapTo(AkkaData.class); + System.out.println("Received data from Akka: " + data); + service.saveAktor(data); } } \ No newline at end of file diff --git a/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/StaraProcessor.java b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/StaraProcessor.java index 9e559ef..bb487f9 100644 --- a/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/StaraProcessor.java +++ b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/processor/StaraProcessor.java @@ -13,7 +13,7 @@ import java.util.Random; public class StaraProcessor { @Inject - StaraService service; + private StaraService service; private Random random = new Random(); @@ -24,5 +24,5 @@ public class StaraProcessor { service.persistStaraData(data); } - + } \ No newline at end of file diff --git a/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/service/AkkaService.java b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/service/AkkaService.java index cab9119..c8e42fa 100644 --- a/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/service/AkkaService.java +++ b/rabbitmq-aver/src/main/java/se/saasta/rabbitmq/service/AkkaService.java @@ -4,6 +4,7 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.transaction.Transactional; import se.saasta.rabbitmq.entity.AkkaAktorEntity; +import se.saasta.rabbitmq.model.AkkaData; import se.saasta.rabbitmq.repository.AkkaRepository; @ApplicationScoped @@ -13,7 +14,9 @@ public class AkkaService { private AkkaRepository repository; @Transactional - public void saveAktor(AkkaAktorEntity entity) { + public void saveAktor(AkkaData data) { + AkkaAktorEntity entity = new AkkaAktorEntity(); + entity.setOrgnr(data.getOrgnr()); repository.persist(entity); System.out.println("Saved entity to database: " + entity.toString()); } diff --git a/rabbitmq-stara/src/main/java/se/saasta/rabbitmq/producer/StaraResource.java b/rabbitmq-stara/src/main/java/se/saasta/rabbitmq/producer/StaraResource.java index 76460e9..67b84cd 100644 --- a/rabbitmq-stara/src/main/java/se/saasta/rabbitmq/producer/StaraResource.java +++ b/rabbitmq-stara/src/main/java/se/saasta/rabbitmq/producer/StaraResource.java @@ -19,20 +19,14 @@ import java.util.UUID; @Path("/stara") public class StaraResource { - - private static long id = 0; - + @Channel("stara") - Emitter quoteRequestEmitter; + Emitter emitter; @Channel("aver") Multi quotes; - /** - * Endpoint to generate a new quote request id and send it to "quote-requests" channel (which - * maps to the "quote-requests" RabbitMQ exchange) using the emitter. - */ @POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @@ -43,18 +37,8 @@ public class StaraResource { orgnrs.add(uuid.toString()); data.setOrgnr(orgnrs); data.setAmount(random.nextInt(1000 + 1)); - quoteRequestEmitter.send(data); + emitter.send(data); return data; } - - /** - * Endpoint retrieving the "quotes" queue and sending the items to a server sent event. - */ -// @GET -// @Produces(MediaType.SERVER_SENT_EVENTS) -// public Multi stream() { -// return Multi.createFrom().item(new StaraData()).map(l -> new StaraData()); -//// return quotes; -// } } \ No newline at end of file