Skip to content

Enhanced Dynmodb Compatibility Issue with graalvm and micronaut framework #1712

@amitmelbourne

Description

@amitmelbourne

Expected Behavior

Micronaut should create object for Pojos annotaed with @Dynmodbbean

Actual Behaviour

BeanContext.createRegistration(DefaultBeanContext.java:3016)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2879)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2800)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1617)
at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:66)
at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2065)
at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1297)
at com.ikano.pp.pricematrix.clients.$PnpPersistenceClient$Definition.build(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
at io.micronaut.context.DefaultBeanContext.loadContextScopeBean(DefaultBeanContext.java:2746)
at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1915)
... 14 more
Caused by: java.lang.IllegalArgumentException: Class 'class com.xxxx.xx.xxxxxx.model.v1.Product' appears to have no default constructor thus cannot be used with the BeanTableSchema
at software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema.newObjectSupplierForClass(BeanTableSchema.java:377)
at software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema.createStaticTableSchema(BeanTableSchema.java:181)
at software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema.create(BeanTableSchema.java:137)
at software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema.create(BeanTableSchema.java:128)
at software.amazon.awssdk.enhanced.dynamodb.TableSchema.fromBean(TableSchema.java:83)
at com.ikano.pp.pricematrix.clients.PnpDynamoDbConfig.initWithTablePrefix(PnpDynamoDbConfig.java:52)
at com.ikano.pp.pricematrix.clients.PnpDynamoDbConfig.(PnpDynamoDbConfig.java:27)
at com.ikano.pp.pricematrix.clients.PnpDynamoDbClient.(PnpDynamoDbClient.java:23)
at com.ikano.pp.pricematrix.clients.$PnpDynamoDbClient$Definition.build(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
... 34 more
Caused by: java.lang.NoSuchMethodException: com.ikano.pp.pricematrix.model.v1.Product.()
at [email protected]/java.lang.Class.getConstructor0(DynamicHub.java:3349)
at [email protected]/java.lang.Class.getConstructor(DynamicHub.java:2151)
at software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema.newObjectSupplierForClass(BeanTableSchema.java:372)
... 43 more
Request loop failed with: Exception thrown instantiating MicronautLambdaRuntimeHandler
Invoking Function End
Invoking Function Start
�[36m07:08:28.445�[0;39m �[1;30m[main]�[0;39m �[34mINFO �[0;39m �[35mi.m.f.a.p.AbstractLambdaContainerHandler�[0;39m - Starting Lambda Container Handler
�[36m07:08:29.081�[0;39m �[1;30m[main]�[0;39m �[34mINFO �[0;39m �[35mi.m.context.env.DefaultEnvironment�[0;39m - Established active environments: [ec2, cloud, lambda, function]
START RequestId: 7adb2ee1-0879-4dbc-8971-b13869a76796 Version: $LATEST
2023-05-09T07:08:29.141Z 7adb2ee1-0879-4dbc-8971-b13869a76796 Task timed out after 3.05 seconds
END RequestId: 7adb2ee1-0879-4dbc-8971-b13869a76796
REPORT RequestId: 7adb2ee1-0879-4dbc-8971-b13869a76796 Duration: 3046.46 ms Billed Duration: 3000 ms Memory Size: 128 MB Max Memory Used: 44 MB

Steps To Reproduce

No response

Environment Information

No response

Example Application

No response

Version

3.9.1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions