Description
I was using this wrapper for .net 6 so far and its working. But migrating it to .net 8 throws error.
My application is in kubernetes container. The pod stays in CrashLoopBackoff state if I keep targetFramework as .net 8 and doesn't spin up. I am not sure which dependency to add in pom.xml to make it work. Below is the error I get in pod:
2025-01-29 12:42:02,281 [main] WARN s.a.k.m.c.AwsCredentialsProviderPropertyValueDecoder [NONE] - Unable to construct any provider with name WebIdentityTokenCredentialsProvider
2025-01-29 12:42:02,282 [main] WARN s.a.k.m.c.AwsCredentialsProviderPropertyValueDecoder [NONE] - Please verify that all AwsCredentialsProvider properties are passed correctly
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at software.amazon.kinesis.multilang.config.KinesisClientLibConfigurator.lambda$getConfiguration$0(KinesisClientLibConfigurator.java:67)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at java.base/java.util.Collections$SynchronizedCollection.forEach(Collections.java:2351)
at software.amazon.kinesis.multilang.config.KinesisClientLibConfigurator.getConfiguration(KinesisClientLibConfigurator.java:62)
at software.amazon.kinesis.multilang.MultiLangDaemonConfig.(MultiLangDaemonConfig.java:108)
at software.amazon.kinesis.multilang.MultiLangDaemonConfig.(MultiLangDaemonConfig.java:80)
at software.amazon.kinesis.multilang.MultiLangDaemonConfig.(MultiLangDaemonConfig.java:64)
at software.amazon.kinesis.multilang.MultiLangDaemon.buildMultiLangDaemonConfig(MultiLangDaemon.java:172)
at software.amazon.kinesis.multilang.MultiLangDaemon.main(MultiLangDaemon.java:221)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2128)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2109)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1915)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2022)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1018)
at software.amazon.kinesis.multilang.config.KinesisClientLibConfigurator.lambda$getConfiguration$0(KinesisClientLibConfigurator.java:65)
... 8 more
Caused by: java.lang.IllegalArgumentException: No credential providers were specified.
at software.amazon.awssdk.utils.Validate.notEmpty(Validate.java:258)
at software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.(AwsCredentialsProviderChain.java:68)
at software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.(AwsCredentialsProviderChain.java:52)
at software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain$BuilderImpl.build(AwsCredentialsProviderChain.java:263)
at software.amazon.kinesis.multilang.config.AwsCredentialsProviderPropertyValueDecoder.decodeValue(AwsCredentialsProviderPropertyValueDecoder.java:66)
at software.amazon.kinesis.multilang.config.BuilderDynaBean.set(BuilderDynaBean.java:264)
at software.amazon.kinesis.multilang.config.MultiLangDaemonConfiguration.setAwsCredentialsProvider(MultiLangDaemonConfiguration.java:223)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
... 15 more
java.lang.reflect.InvocationTargetException
Could you please help me to fix this issue.
If I keep targetFramework as .net 6 then app works fine.