Skip to content

Commit f34bf3e

Browse files
committed
fix: register classes for reflection
1 parent e299fed commit f34bf3e

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

extensions/amazon-lambda/common-deployment/src/main/java/io/quarkus/amazon/lambda/deployment/AmazonLambdaCommonProcessor.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.fasterxml.jackson.databind.ObjectMapper;
66

77
import io.quarkus.amazon.lambda.runtime.AmazonLambdaMapperRecorder;
8+
import io.quarkus.amazon.lambda.runtime.FunctionError;
89
import io.quarkus.arc.deployment.BeanContainerBuildItem;
910
import io.quarkus.arc.deployment.UnremovableBeanBuildItem;
1011
import io.quarkus.deployment.annotations.BuildProducer;
@@ -14,6 +15,7 @@
1415
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
1516
import io.quarkus.deployment.builditem.SnapStartDefaultValueBuildItem;
1617
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
18+
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
1719
import io.quarkus.deployment.pkg.builditem.ArtifactResultBuildItem;
1820
import io.quarkus.deployment.pkg.steps.NativeBuild;
1921
import io.quarkus.deployment.pkg.steps.NativeSourcesBuild;
@@ -88,4 +90,10 @@ void initContextReaders(AmazonLambdaMapperRecorder recorder,
8890
}
8991
}
9092

93+
@BuildStep(onlyIf = NativeBuild.class)
94+
public void registerForSerialization(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
95+
reflectiveClass.produce(ReflectiveClassBuildItem.builder(
96+
FunctionError.class.getName()).build());
97+
}
98+
9199
}

extensions/funqy/funqy-amazon-lambda/deployment/src/main/java/io/quarkus/funqy/deployment/bindings/FunqyAmazonLambdaProcessor.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
import io.quarkus.deployment.pkg.steps.NativeBuild;
1515
import io.quarkus.funqy.lambda.model.cloudevents.CloudEventDataV1;
1616
import io.quarkus.funqy.lambda.model.cloudevents.CloudEventV1;
17+
import io.quarkus.funqy.lambda.model.kinesis.PipesKinesisEvent;
18+
import io.quarkus.funqy.lambda.model.pipes.BatchItemFailures;
19+
import io.quarkus.funqy.lambda.model.pipes.Response;
1720

1821
public class FunqyAmazonLambdaProcessor {
1922

@@ -39,8 +42,12 @@ public void process(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
3942
Record.class.getName(),
4043
StreamsEventResponse.class.getName(),
4144
StreamsEventResponse.BatchItemFailure.class.getName(),
45+
PipesKinesisEvent.class.getName(),
4246
// DynamoDB
4347
DynamodbEvent.class.getName(),
44-
DynamodbEvent.DynamodbStreamRecord.class.getName()).constructors().methods().fields().build());
48+
DynamodbEvent.DynamodbStreamRecord.class.getName(),
49+
// Pipes
50+
Response.class.getName(),
51+
BatchItemFailures.class.getName()).constructors().methods().fields().build());
4552
}
4653
}

0 commit comments

Comments
 (0)