Skip to content
This repository has been archived by the owner on Jan 19, 2022. It is now read-only.

Adding support for EventBridge #525

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jmnarloch
Copy link

@jmnarloch jmnarloch commented Feb 17, 2020

Summary: Adds support for AWS EventBridge to the spring-cloud-aws-messaging. EventBridge is service launched in August 2019. EventBridge allows to decouple the service applications by publishing events, to which application/services can subscribe to.

To some degree the implementation is very similar to SNS integration, currently EventBridge allows only publishing the events. Consuming them is possible through AWS Lambda.

Compared to SNS though there are couple differences:

  • Events published to EventBus does not have headers. If there is need to support headers or message attributes through EventBridge the headers needs to be pass as event payload.
  • There is no notion of Message ID in EventBus on client side.
  • Each event is identified by pair of source and detail-type.

Reference:

@pivotal-issuemaster
Copy link

@jmnarloch Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

@pivotal-issuemaster
Copy link

@jmnarloch Thank you for signing the Contributor License Agreement!

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Feb 17, 2020
.idea/misc.xml Outdated Show resolved Hide resolved
@jmnarloch
Copy link
Author

As a side question, is there any other package that would require to be changed to add full support for AWS Events? How about Spring Cloud Streams?

@marcingrzejszczak marcingrzejszczak added this to the 3.0.0.M1 milestone Feb 21, 2020
@marcingrzejszczak marcingrzejszczak added type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged labels Feb 21, 2020
Copy link
Contributor

@marcingrzejszczak marcingrzejszczak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I've added small comments and then we can merge this.

.idea/misc.xml Outdated Show resolved Hide resolved
@jmnarloch
Copy link
Author

@marcingrzejszczak Thanks for reviewing the change, I address the comment and pushed updated revision.

@jmnarloch
Copy link
Author

@marcingrzejszczak any other feedback?

@jmnarloch
Copy link
Author

@spencergibb would you mind taking a look.

Copy link
Contributor

@spencergibb spencergibb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides the @Enable annotation I don't think I'm qualified to review the messaging stuff. Maybe @artembilan or @garyrussell has some time to look?

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import({ EventBridgeConfiguration.class })
public @interface EnableEventBridge {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spring Cloud has moved away from @Enable annotations for the most part. Seems like this could just be auto-configuration with @ConditionalOnClass guards

@spencergibb spencergibb removed this from the 3.0.0.M1 milestone May 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: enhancement A general enhancement
Development

Successfully merging this pull request may close these issues.

6 participants