Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support to externalize domain events #248

Closed
odrotbohm opened this issue Jul 21, 2023 · 2 comments
Closed

Support to externalize domain events #248

odrotbohm opened this issue Jul 21, 2023 · 2 comments
Assignees
Labels
in: events Event publication registry type: enhancement Major enhanvements, new features
Milestone

Comments

@odrotbohm
Copy link
Member

odrotbohm commented Jul 21, 2023

It would be nice if externalizing events into messaging middle ware could be supported out of the box by registering an @ApplicationEventListener that will forward events to infrastructure like Kafka, AMQP & JMS.

@odrotbohm odrotbohm added in: events Event publication registry type: enhancement Major enhanvements, new features labels Jul 21, 2023
@odrotbohm odrotbohm added this to the 1.1 M1 milestone Jul 21, 2023
@odrotbohm odrotbohm self-assigned this Jul 21, 2023
odrotbohm added a commit that referenced this issue Jul 21, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Jul 21, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 1, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 2, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 7, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 11, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 12, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 12, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 12, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Aug 24, 2023
odrotbohm added a commit that referenced this issue Aug 24, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Sep 4, 2023
odrotbohm added a commit that referenced this issue Sep 4, 2023
We now provide an SPI to plug custom implementations to externalize events that match an EventExternalizationConfiguration (EEC) into messaging technology. The first implementation of that API is based on Spring Kafka to consume a KafkaTemplate and translate events into Kafka messages.
odrotbohm added a commit that referenced this issue Sep 7, 2023
We now allow externalizing application events to a variety of message brokers through the addition of Spring Modulith modules for Kafka, AMQP and JMS to a user project's classpath. Which events shall be externalized and how they're supposed to be routed to the message broker can be configured through either annotations or via a configuration API declared as Spring bean.

In case Jackson is on the classpath, we also add auto-configuration to use a Boot-configured ObjectMapper instance with the corresponding message broker client APIs to properly serialize and deserialize messages to JSON.
odrotbohm added a commit that referenced this issue Sep 7, 2023
Minor code cleanup.
odrotbohm added a commit that referenced this issue Sep 7, 2023
We now allow externalizing application events to a variety of message brokers through the addition of Spring Modulith modules for Kafka, AMQP and JMS to a user project's classpath. Which events shall be externalized and how they're supposed to be routed to the message broker can be configured through either annotations or via a configuration API declared as Spring bean.

In case Jackson is on the classpath, we also add auto-configuration to use a Boot-configured ObjectMapper instance with the corresponding message broker client APIs to properly serialize and deserialize messages to JSON.
odrotbohm added a commit that referenced this issue Sep 7, 2023
Minor code cleanup.
odrotbohm added a commit that referenced this issue Sep 8, 2023
@olegz
Copy link

olegz commented Sep 22, 2023

May be it is something specific to this project, but in terms of general question the feature of generating and sending messages to pretty much anywhere (including Kafka, AMQP & JMS) have existed for better part of the decade in Spring Integration project

@denniseffing
Copy link

@odrotbohm I am playing around with the event externalization and I am now wondering how I am supposed to internalize the events (e.g. read them from Kafka and do something) in another Spring Modulith.

Are you planning on adding support for this as well or do you see this as the responsability of the application by e.g. implementing a Kafka consumer manually?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: events Event publication registry type: enhancement Major enhanvements, new features
Projects
None yet
Development

No branches or pull requests

3 participants