diff --git a/quarkus/src/main/java/com/miti99/test/event/GenericEvent.java b/quarkus/src/main/java/com/miti99/test/event/GenericEvent.java new file mode 100644 index 0000000..dcd50ae --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/event/GenericEvent.java @@ -0,0 +1,3 @@ +package com.miti99.test.event; + +public record GenericEvent(T data) {} diff --git a/quarkus/src/main/java/com/miti99/test/event/SimpleEvent.java b/quarkus/src/main/java/com/miti99/test/event/SimpleEvent.java new file mode 100644 index 0000000..dfaf957 --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/event/SimpleEvent.java @@ -0,0 +1,3 @@ +package com.miti99.test.event; + +public record SimpleEvent() {} diff --git a/quarkus/src/main/java/com/miti99/test/listener/AListener.java b/quarkus/src/main/java/com/miti99/test/listener/AListener.java new file mode 100644 index 0000000..86c2988 --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/listener/AListener.java @@ -0,0 +1,14 @@ +package com.miti99.test.listener; + +import com.miti99.test.event.GenericEvent; +import com.miti99.test.type.A; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.event.Observes; + +@ApplicationScoped +public class AListener { + + public void onGenericEvent(@Observes GenericEvent event) { + System.out.println("AListener.onGenericEvent: " + event.data().getClass()); + } +} diff --git a/quarkus/src/main/java/com/miti99/test/listener/BListener.java b/quarkus/src/main/java/com/miti99/test/listener/BListener.java new file mode 100644 index 0000000..060fbd7 --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/listener/BListener.java @@ -0,0 +1,15 @@ +package com.miti99.test.listener; + +import com.miti99.test.event.GenericEvent; +import com.miti99.test.type.A; +import com.miti99.test.type.B; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.event.Observes; + +@ApplicationScoped +public class BListener { + + public void onGenericEvent(@Observes GenericEvent event) { + System.out.println("BListener.onGenericEvent: " + event.data().getClass()); + } +} diff --git a/quarkus/src/main/java/com/miti99/test/listener/SimpleListener.java b/quarkus/src/main/java/com/miti99/test/listener/SimpleListener.java new file mode 100644 index 0000000..3b536ee --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/listener/SimpleListener.java @@ -0,0 +1,13 @@ +package com.miti99.test.listener; + +import com.miti99.test.event.SimpleEvent; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.event.Observes; + +@ApplicationScoped +public class SimpleListener { + + public void onEvent(@Observes SimpleEvent event) { + System.out.println("SimpleListener.onEvent"); + } +} diff --git a/quarkus/src/main/java/com/miti99/test/publisher/APublisher.java b/quarkus/src/main/java/com/miti99/test/publisher/APublisher.java new file mode 100644 index 0000000..506a874 --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/publisher/APublisher.java @@ -0,0 +1,24 @@ +package com.miti99.test.publisher; + +import com.miti99.test.event.GenericEvent; +import com.miti99.test.type.A; +import jakarta.enterprise.event.Event; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/A") +public class APublisher { + + @Inject Event> eventPublisher; + + @GET + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + GenericEvent event = new GenericEvent<>(new A()); + eventPublisher.fire(event); + return "fired A event"; + } +} diff --git a/quarkus/src/main/java/com/miti99/test/publisher/BPublisher.java b/quarkus/src/main/java/com/miti99/test/publisher/BPublisher.java new file mode 100644 index 0000000..9483cc9 --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/publisher/BPublisher.java @@ -0,0 +1,24 @@ +package com.miti99.test.publisher; + +import com.miti99.test.event.GenericEvent; +import com.miti99.test.type.B; +import jakarta.enterprise.event.Event; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/B") +public class BPublisher { + + @Inject Event> eventPublisher; + + @GET + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + GenericEvent event = new GenericEvent<>(new B()); + eventPublisher.fire(event); + return "fired B event"; + } +} diff --git a/quarkus/src/main/java/com/miti99/test/publisher/SimplePublisher.java b/quarkus/src/main/java/com/miti99/test/publisher/SimplePublisher.java new file mode 100644 index 0000000..2610fcc --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/publisher/SimplePublisher.java @@ -0,0 +1,23 @@ +package com.miti99.test.publisher; + +import com.miti99.test.event.SimpleEvent; +import jakarta.enterprise.event.Event; +import jakarta.inject.Inject; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/Simple") +public class SimplePublisher { + + @Inject Event eventPublisher; + + @GET + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + SimpleEvent event = new SimpleEvent(); + eventPublisher.fire(event); + return "fired simple event"; + } +} diff --git a/quarkus/src/main/java/com/miti99/test/type/A.java b/quarkus/src/main/java/com/miti99/test/type/A.java new file mode 100644 index 0000000..d9a4b15 --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/type/A.java @@ -0,0 +1,3 @@ +package com.miti99.test.type; + +public class A {} diff --git a/quarkus/src/main/java/com/miti99/test/type/B.java b/quarkus/src/main/java/com/miti99/test/type/B.java new file mode 100644 index 0000000..a647918 --- /dev/null +++ b/quarkus/src/main/java/com/miti99/test/type/B.java @@ -0,0 +1,3 @@ +package com.miti99.test.type; + +public class B {}