-
Notifications
You must be signed in to change notification settings - Fork 167
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 Reactive Streams API for S3 protocol #198
Comments
We are aware about Reactive Streams API in the AWS SDK v2. Only the problem that we have to migrate into that version first and then we can see what we could do with the Reactive Streams support: #155. I'm not closing this issue in favor of that, but rephrase it for S3 specifics, so we can come back to this when we do migration to AWS SDK v2. |
Ok. I didn't know about the SDK v2 capabilities. Sounds great. Can you tell about the timeline expectations for the SDK v2 migrations? |
Read the issue I've pointed in my answer. |
+1 |
Are there any classes that can still work with internal implementation that is based on V2? Or maybe the case is that all of the existing classes doesn't support Reactor? |
Technically even existing AWS SKD v1 is compatible with Reactive Stream - its has an async variants for AWS services, which we really use in this Spring Integration for AWS project. So, you are good to develop Reactive solution even right now. |
Can you refer to the classes that are relevant for the asynchronous operations? |
See this one and all its extensions in the same package: https://github.com/spring-projects/spring-integration-aws/blob/main/src/main/java/org/springframework/integration/aws/outbound/AbstractAwsMessageHandler.java. |
@artembilan So the outbound channel supports reactor or not? The docs (that doesn't appear in the website) doesn't mention this. Why? |
I'd really like to see an example of usage of the OutboundGateway for S3 in the JavaDSL |
It would be great to determine in your opinion what is compatibility with Reactor or not. The The docs is mentioning how to use an arbitrary channel adapter in Java DSL: https://docs.spring.io/spring-integration/docs/current/reference/html/dsl.html#java-dsl-protocol-adapters |
@artembilan After looking at the code I see 2 things that makes me wonder if its really async and non blocking (e.g. safe to use with reactor).
|
you probably didn't get the main point of this issue: we cannot use AWS SDK v2 yet. The Client you mention is missed in the version of AWS SKD we currently support in this project: https://www.baeldung.com/java-aws-s3-reactive. See JavaDocs of the current API we use in the
That's from where I make my assumptions about this channel adapter possible usage in the reactive streams. |
Hey. I would like to suggest support for Project Reactor when integrating with AWS and Spring Integration. I suggest the ability to write a
Flux
to S3, consumingMono
and more. Here is a good example.The text was updated successfully, but these errors were encountered: