Comments (3)
What I am thinking is to give possibility to users to handler specific message exceptions while enriching in some way.
So if during enriching message from S3, if we get an exception, we can probably accept an exception handler class on LargeMessage annotation which users can implement on how they want to deal with the exception.
That way, they can decide themselves, if they would like to throw exception to fail entire batch or would liketo silently deal with the exception and let enriching of other message continue.
Something like:
public class SqsLambdaHandler implements RequestHandler<SQSEvent, String> {
@Override
@SqsLargeMessage(enrichFailureHandler = ExceptionHandler.class)
public String handleRequest(SQSEvent sqsEvent, Context context) {
return sqsEvent.getRecords().toString();
}
class ExceptionHandler implements EnrichFailureHandler {
@Override
public void handleFailure(SQSMessage message,
FailedProcessingLargePayloadException e) {
// Handle exception specific to a message
}
}
}
from powertools-lambda-java.
So if during enriching message from S3, if we get an exception, we can probably accept an exception handler class on LargeMessage annotation which users can implement on how they want to deal with the exception.
Yeah, I agree. This makes more sense and provides more flexibility.
from powertools-lambda-java.
This will be handled by #797 and #1259
from powertools-lambda-java.
Related Issues (20)
- Trace Annotations not getting added if Annotation Key has a space in it HOT 11
- Putting metrics fails when POWERTOOLS_METRICS_NAMESPACE is not set HOT 3
- Logging: Trace ID not logged with Java 17 runtime HOT 1
- Feature enhancement: Create a Subsegments for operations handled by Powertools HOT 5
- Logging: print `message` as JSON, instead of wrapping into a string HOT 14
- Exceptions not showing in Traces HOT 1
- RFC: Introduce Version 2
- RFC: Remove support for Java 8 in V2 HOT 7
- Feature enhancement (Logger): automatically intercept Runtime exceptions, and log information HOT 7
- Log level not restored at the end of execution HOT 2
- Support batch secrets retrieval in Parameters module HOT 6
- Maintenance: update jackson and aws-xray-recorder dependencies together HOT 4
- RFC: handle batch messages in parallel in batch module HOT 12
- v2: Example logging configuration needs to be updated HOT 3
- v2 - Params builders do not supply default TransformationManager HOT 1
- bug - v2 - end-to-end tests broken
- AbstractCustomResourceHandler - Unable to send response HOT 2
- LambdaEcsLayout seems to incorrectly serialize the service field HOT 7
- Add support for CRaC
- RFC: support for multi-endpoint HTTP handler Lambda functions HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from powertools-lambda-java.