Skip to content

Commit 7957a34

Browse files
committed
Add GRM data for idempotency dynamodb.
1 parent 1151699 commit 7957a34

File tree

3 files changed

+363
-0
lines changed

3 files changed

+363
-0
lines changed

powertools-idempotency/powertools-idempotency-dynamodb/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,17 @@
9999
<profiles>
100100
<profile>
101101
<id>generate-graalvm-files</id>
102+
<!-- The AWS DynamoDBClient uses com.amazonaws.xray.interceptors.TracingInterceptor if available on the
103+
classpath. If the DynamoDB persistence store is used together with tracing, this would fail in GraalVM
104+
otherwise since it tries to load the tracing interceptor at runtime. This makes sure it is included in
105+
reflect-config.json -->
106+
<dependencies>
107+
<dependency>
108+
<groupId>com.amazonaws</groupId>
109+
<artifactId>aws-xray-recorder-sdk-aws-sdk-v2-instrumentor</artifactId>
110+
<scope>test</scope>
111+
</dependency>
112+
</dependencies>
102113
<build>
103114
<plugins>
104115
<plugin>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,325 @@
1+
[
2+
{
3+
"name":"[Lcom.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.deser.Deserializers;"
4+
},
5+
{
6+
"name":"[Lcom.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.deser.KeyDeserializers;"
7+
},
8+
{
9+
"name":"[Lcom.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.deser.ValueInstantiators;"
10+
},
11+
{
12+
"name":"[Lcom.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.ser.Serializers;"
13+
},
14+
{
15+
"name":"[Lcom.fasterxml.jackson.databind.deser.Deserializers;"
16+
},
17+
{
18+
"name":"com.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.ext.Java7HandlersImpl",
19+
"methods":[{"name":"<init>","parameterTypes":[] }]
20+
},
21+
{
22+
"name":"com.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.ext.Java7SupportImpl",
23+
"methods":[{"name":"<init>","parameterTypes":[] }]
24+
},
25+
{
26+
"name":"com.amazonaws.services.lambda.runtime.Context"
27+
},
28+
{
29+
"name":"com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent",
30+
"allDeclaredFields":true,
31+
"queryAllDeclaredMethods":true,
32+
"queryAllDeclaredConstructors":true,
33+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"getBody","parameterTypes":[] }, {"name":"getHeaders","parameterTypes":[] }, {"name":"getHttpMethod","parameterTypes":[] }, {"name":"getIsBase64Encoded","parameterTypes":[] }, {"name":"getMultiValueHeaders","parameterTypes":[] }, {"name":"getMultiValueQueryStringParameters","parameterTypes":[] }, {"name":"getPath","parameterTypes":[] }, {"name":"getPathParameters","parameterTypes":[] }, {"name":"getQueryStringParameters","parameterTypes":[] }, {"name":"getRequestContext","parameterTypes":[] }, {"name":"getResource","parameterTypes":[] }, {"name":"getStageVariables","parameterTypes":[] }, {"name":"getVersion","parameterTypes":[] }, {"name":"setBody","parameterTypes":["java.lang.String"] }, {"name":"setHeaders","parameterTypes":["java.util.Map"] }, {"name":"setHttpMethod","parameterTypes":["java.lang.String"] }, {"name":"setIsBase64Encoded","parameterTypes":["java.lang.Boolean"] }, {"name":"setPath","parameterTypes":["java.lang.String"] }, {"name":"setPathParameters","parameterTypes":["java.util.Map"] }, {"name":"setQueryStringParameters","parameterTypes":["java.util.Map"] }, {"name":"setRequestContext","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent$ProxyRequestContext"] }, {"name":"setResource","parameterTypes":["java.lang.String"] }, {"name":"setStageVariables","parameterTypes":["java.util.Map"] }]
34+
},
35+
{
36+
"name":"com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent$ProxyRequestContext",
37+
"allDeclaredFields":true,
38+
"queryAllDeclaredMethods":true,
39+
"queryAllDeclaredConstructors":true,
40+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"getAccountId","parameterTypes":[] }, {"name":"getApiId","parameterTypes":[] }, {"name":"getAuthorizer","parameterTypes":[] }, {"name":"getDomainName","parameterTypes":[] }, {"name":"getDomainPrefix","parameterTypes":[] }, {"name":"getExtendedRequestId","parameterTypes":[] }, {"name":"getHttpMethod","parameterTypes":[] }, {"name":"getIdentity","parameterTypes":[] }, {"name":"getOperationName","parameterTypes":[] }, {"name":"getPath","parameterTypes":[] }, {"name":"getProtocol","parameterTypes":[] }, {"name":"getRequestId","parameterTypes":[] }, {"name":"getRequestTime","parameterTypes":[] }, {"name":"getRequestTimeEpoch","parameterTypes":[] }, {"name":"getResourceId","parameterTypes":[] }, {"name":"getResourcePath","parameterTypes":[] }, {"name":"getStage","parameterTypes":[] }, {"name":"setAccountId","parameterTypes":["java.lang.String"] }, {"name":"setApiId","parameterTypes":["java.lang.String"] }, {"name":"setHttpMethod","parameterTypes":["java.lang.String"] }, {"name":"setIdentity","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent$RequestIdentity"] }, {"name":"setPath","parameterTypes":["java.lang.String"] }, {"name":"setProtocol","parameterTypes":["java.lang.String"] }, {"name":"setRequestId","parameterTypes":["java.lang.String"] }, {"name":"setRequestTime","parameterTypes":["java.lang.String"] }, {"name":"setRequestTimeEpoch","parameterTypes":["java.lang.Long"] }, {"name":"setResourceId","parameterTypes":["java.lang.String"] }, {"name":"setResourcePath","parameterTypes":["java.lang.String"] }, {"name":"setStage","parameterTypes":["java.lang.String"] }]
41+
},
42+
{
43+
"name":"com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent$RequestIdentity",
44+
"allDeclaredFields":true,
45+
"queryAllDeclaredMethods":true,
46+
"queryAllDeclaredConstructors":true,
47+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"getAccessKey","parameterTypes":[] }, {"name":"getAccountId","parameterTypes":[] }, {"name":"getApiKey","parameterTypes":[] }, {"name":"getCaller","parameterTypes":[] }, {"name":"getCognitoAuthenticationProvider","parameterTypes":[] }, {"name":"getCognitoAuthenticationType","parameterTypes":[] }, {"name":"getCognitoIdentityId","parameterTypes":[] }, {"name":"getCognitoIdentityPoolId","parameterTypes":[] }, {"name":"getPrincipalOrgId","parameterTypes":[] }, {"name":"getSourceIp","parameterTypes":[] }, {"name":"getUser","parameterTypes":[] }, {"name":"getUserAgent","parameterTypes":[] }, {"name":"getUserArn","parameterTypes":[] }, {"name":"setAccessKey","parameterTypes":["java.lang.String"] }, {"name":"setAccountId","parameterTypes":["java.lang.String"] }, {"name":"setCaller","parameterTypes":["java.lang.String"] }, {"name":"setCognitoAuthenticationProvider","parameterTypes":["java.lang.String"] }, {"name":"setCognitoAuthenticationType","parameterTypes":["java.lang.String"] }, {"name":"setCognitoIdentityId","parameterTypes":["java.lang.String"] }, {"name":"setCognitoIdentityPoolId","parameterTypes":["java.lang.String"] }, {"name":"setSourceIp","parameterTypes":["java.lang.String"] }, {"name":"setUser","parameterTypes":["java.lang.String"] }, {"name":"setUserAgent","parameterTypes":["java.lang.String"] }, {"name":"setUserArn","parameterTypes":["java.lang.String"] }]
48+
},
49+
{
50+
"name":"com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent",
51+
"allDeclaredFields":true,
52+
"queryAllDeclaredMethods":true,
53+
"queryAllDeclaredConstructors":true,
54+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"getBody","parameterTypes":[] }, {"name":"getHeaders","parameterTypes":[] }, {"name":"getIsBase64Encoded","parameterTypes":[] }, {"name":"getMultiValueHeaders","parameterTypes":[] }, {"name":"getStatusCode","parameterTypes":[] }, {"name":"setBody","parameterTypes":["java.lang.String"] }, {"name":"setHeaders","parameterTypes":["java.util.Map"] }, {"name":"setStatusCode","parameterTypes":["java.lang.Integer"] }]
55+
},
56+
{
57+
"name":"com.amazonaws.xray.handlers.config.AWSOperationHandler",
58+
"allDeclaredFields":true,
59+
"queryAllDeclaredMethods":true,
60+
"queryAllDeclaredConstructors":true,
61+
"methods":[{"name":"<init>","parameterTypes":[] }]
62+
},
63+
{
64+
"name":"com.amazonaws.xray.handlers.config.AWSOperationHandlerManifest",
65+
"allDeclaredFields":true,
66+
"queryAllDeclaredMethods":true,
67+
"queryAllDeclaredConstructors":true,
68+
"methods":[{"name":"<init>","parameterTypes":[] }]
69+
},
70+
{
71+
"name":"com.amazonaws.xray.handlers.config.AWSOperationHandlerRequestDescriptor",
72+
"allDeclaredFields":true,
73+
"queryAllDeclaredMethods":true,
74+
"queryAllDeclaredConstructors":true,
75+
"methods":[{"name":"<init>","parameterTypes":[] }]
76+
},
77+
{
78+
"name":"com.amazonaws.xray.handlers.config.AWSOperationHandlerResponseDescriptor",
79+
"allDeclaredFields":true,
80+
"queryAllDeclaredMethods":true,
81+
"queryAllDeclaredConstructors":true,
82+
"methods":[{"name":"<init>","parameterTypes":[] }]
83+
},
84+
{
85+
"name":"com.amazonaws.xray.handlers.config.AWSServiceHandlerManifest",
86+
"allDeclaredFields":true,
87+
"queryAllDeclaredMethods":true,
88+
"queryAllDeclaredConstructors":true,
89+
"methods":[{"name":"<init>","parameterTypes":[] }]
90+
},
91+
{
92+
"name":"com.amazonaws.xray.interceptors.TracingInterceptor",
93+
"methods":[{"name":"<init>","parameterTypes":[] }]
94+
},
95+
{
96+
"name":"com.amazonaws.xray.strategy.sampling.manifest.SamplingRuleManifest",
97+
"allDeclaredFields":true,
98+
"queryAllDeclaredMethods":true,
99+
"queryAllDeclaredConstructors":true,
100+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setDefaultRule","parameterTypes":["com.amazonaws.xray.strategy.sampling.rule.SamplingRule"] }, {"name":"setRules","parameterTypes":["java.util.List"] }, {"name":"setVersion","parameterTypes":["int"] }]
101+
},
102+
{
103+
"name":"com.amazonaws.xray.strategy.sampling.reservoir.Reservoir",
104+
"allDeclaredFields":true,
105+
"queryAllDeclaredMethods":true,
106+
"queryAllDeclaredConstructors":true
107+
},
108+
{
109+
"name":"com.amazonaws.xray.strategy.sampling.rule.SamplingRule",
110+
"allDeclaredFields":true,
111+
"queryAllDeclaredMethods":true,
112+
"queryAllDeclaredConstructors":true,
113+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setFixedTarget","parameterTypes":["int"] }, {"name":"setRate","parameterTypes":["float"] }]
114+
},
115+
{
116+
"name":"com.fasterxml.jackson.databind.ext.Java7SupportImpl",
117+
"methods":[{"name":"<init>","parameterTypes":[] }]
118+
},
119+
{
120+
"name":"com.sun.crypto.provider.AESCipher$General",
121+
"methods":[{"name":"<init>","parameterTypes":[] }]
122+
},
123+
{
124+
"name":"com.sun.crypto.provider.ARCFOURCipher",
125+
"methods":[{"name":"<init>","parameterTypes":[] }]
126+
},
127+
{
128+
"name":"com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305",
129+
"methods":[{"name":"<init>","parameterTypes":[] }]
130+
},
131+
{
132+
"name":"com.sun.crypto.provider.DESCipher",
133+
"methods":[{"name":"<init>","parameterTypes":[] }]
134+
},
135+
{
136+
"name":"com.sun.crypto.provider.DESedeCipher",
137+
"methods":[{"name":"<init>","parameterTypes":[] }]
138+
},
139+
{
140+
"name":"com.sun.crypto.provider.GaloisCounterMode$AESGCM",
141+
"methods":[{"name":"<init>","parameterTypes":[] }]
142+
},
143+
{
144+
"name":"com.sun.crypto.provider.HmacCore$HmacSHA256",
145+
"methods":[{"name":"<init>","parameterTypes":[] }]
146+
},
147+
{
148+
"name":"java.io.IOException",
149+
"methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
150+
},
151+
{
152+
"name":"java.io.Serializable",
153+
"queryAllDeclaredMethods":true
154+
},
155+
{
156+
"name":"java.lang.Cloneable",
157+
"queryAllDeclaredMethods":true
158+
},
159+
{
160+
"name":"java.lang.ProcessEnvironment",
161+
"fields":[{"name":"theCaseInsensitiveEnvironment"}, {"name":"theEnvironment"}]
162+
},
163+
{
164+
"name":"java.lang.String"
165+
},
166+
{
167+
"name":"java.lang.Thread",
168+
"fields":[{"name":"threadLocalRandomProbe"}],
169+
"methods":[{"name":"getContextClassLoader","parameterTypes":[] }]
170+
},
171+
{
172+
"name":"java.security.AlgorithmParametersSpi"
173+
},
174+
{
175+
"name":"java.security.KeyStoreSpi"
176+
},
177+
{
178+
"name":"java.security.SecureRandomParameters"
179+
},
180+
{
181+
"name":"java.util.Collections$UnmodifiableMap",
182+
"fields":[{"name":"m"}]
183+
},
184+
{
185+
"name":"java.util.concurrent.atomic.AtomicBoolean",
186+
"fields":[{"name":"value"}]
187+
},
188+
{
189+
"name":"java.util.concurrent.atomic.AtomicReference",
190+
"fields":[{"name":"value"}]
191+
},
192+
{
193+
"name":"java.util.concurrent.atomic.Striped64",
194+
"fields":[{"name":"base"}, {"name":"cellsBusy"}]
195+
},
196+
{
197+
"name":"javax.crac.Resource"
198+
},
199+
{
200+
"name":"javax.security.auth.x500.X500Principal",
201+
"fields":[{"name":"thisX500Name"}],
202+
"methods":[{"name":"<init>","parameterTypes":["sun.security.x509.X500Name"] }]
203+
},
204+
{
205+
"name":"jdk.crac.Resource"
206+
},
207+
{
208+
"name":"kotlin.Metadata"
209+
},
210+
{
211+
"name":"kotlin.Unit"
212+
},
213+
{
214+
"name":"org.apache.commons.logging.LogFactory"
215+
},
216+
{
217+
"name":"org.apache.commons.logging.impl.Jdk14Logger",
218+
"methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }, {"name":"setLogFactory","parameterTypes":["org.apache.commons.logging.LogFactory"] }]
219+
},
220+
{
221+
"name":"org.apache.commons.logging.impl.Log4JLogger"
222+
},
223+
{
224+
"name":"org.apache.commons.logging.impl.LogFactoryImpl",
225+
"methods":[{"name":"<init>","parameterTypes":[] }]
226+
},
227+
{
228+
"name":"org.apache.commons.logging.impl.WeakHashtable",
229+
"methods":[{"name":"<init>","parameterTypes":[] }]
230+
},
231+
{
232+
"name":"org.apiguardian.api.API",
233+
"queryAllPublicMethods":true
234+
},
235+
{
236+
"name":"org.joda.time.DateTime"
237+
},
238+
{
239+
"name":"scala.util.Properties"
240+
},
241+
{
242+
"name":"software.amazon.awssdk.enhanced.dynamodb.internal.ApplyUserAgentInterceptor",
243+
"methods":[{"name":"<init>","parameterTypes":[] }]
244+
},
245+
{
246+
"name":"sun.security.pkcs12.PKCS12KeyStore",
247+
"methods":[{"name":"<init>","parameterTypes":[] }]
248+
},
249+
{
250+
"name":"sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12",
251+
"methods":[{"name":"<init>","parameterTypes":[] }]
252+
},
253+
{
254+
"name":"sun.security.provider.MD5",
255+
"methods":[{"name":"<init>","parameterTypes":[] }]
256+
},
257+
{
258+
"name":"sun.security.provider.NativePRNG",
259+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"<init>","parameterTypes":["java.security.SecureRandomParameters"] }]
260+
},
261+
{
262+
"name":"sun.security.provider.SHA",
263+
"methods":[{"name":"<init>","parameterTypes":[] }]
264+
},
265+
{
266+
"name":"sun.security.provider.SHA2$SHA256",
267+
"methods":[{"name":"<init>","parameterTypes":[] }]
268+
},
269+
{
270+
"name":"sun.security.provider.X509Factory",
271+
"methods":[{"name":"<init>","parameterTypes":[] }]
272+
},
273+
{
274+
"name":"sun.security.rsa.RSAKeyFactory$Legacy",
275+
"methods":[{"name":"<init>","parameterTypes":[] }]
276+
},
277+
{
278+
"name":"sun.security.ssl.SSLContextImpl$TLSContext",
279+
"methods":[{"name":"<init>","parameterTypes":[] }]
280+
},
281+
{
282+
"name":"sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory",
283+
"methods":[{"name":"<init>","parameterTypes":[] }]
284+
},
285+
{
286+
"name":"sun.security.x509.AuthorityInfoAccessExtension",
287+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
288+
},
289+
{
290+
"name":"sun.security.x509.AuthorityKeyIdentifierExtension",
291+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
292+
},
293+
{
294+
"name":"sun.security.x509.BasicConstraintsExtension",
295+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
296+
},
297+
{
298+
"name":"sun.security.x509.CRLDistributionPointsExtension",
299+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
300+
},
301+
{
302+
"name":"sun.security.x509.CertificatePoliciesExtension",
303+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
304+
},
305+
{
306+
"name":"sun.security.x509.ExtendedKeyUsageExtension",
307+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
308+
},
309+
{
310+
"name":"sun.security.x509.KeyUsageExtension",
311+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
312+
},
313+
{
314+
"name":"sun.security.x509.NetscapeCertTypeExtension",
315+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
316+
},
317+
{
318+
"name":"sun.security.x509.PrivateKeyUsageExtension",
319+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
320+
},
321+
{
322+
"name":"sun.security.x509.SubjectKeyIdentifierExtension",
323+
"methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
324+
}
325+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"resources":{
3+
"includes":[{
4+
"pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E"
5+
}, {
6+
"pattern":"\\QMETA-INF/services/java.net.spi.InetAddressResolverProvider\\E"
7+
}, {
8+
"pattern":"\\QMETA-INF/services/java.net.spi.URLStreamHandlerProvider\\E"
9+
}, {
10+
"pattern":"\\QMETA-INF/services/org.apache.commons.logging.LogFactory\\E"
11+
}, {
12+
"pattern":"\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E"
13+
}, {
14+
"pattern":"\\Qcom/amazonaws/xray/interceptors/DefaultOperationParameterWhitelist.json\\E"
15+
}, {
16+
"pattern":"\\Qcom/amazonaws/xray/sdk.properties\\E"
17+
}, {
18+
"pattern":"\\Qcom/amazonaws/xray/strategy/sampling/DefaultSamplingRules.json\\E"
19+
}, {
20+
"pattern":"\\Qcommons-logging.properties\\E"
21+
}, {
22+
"pattern":"\\Qsoftware/amazon/awssdk/global/handlers/execution.interceptors\\E"
23+
}, {
24+
"pattern":"\\Qsoftware/amazon/awssdk/services/dynamodb/execution.interceptors\\E"
25+
}]},
26+
"bundles":[]
27+
}

0 commit comments

Comments
 (0)