Skip to content

Compatibility of aws-advanced-jdbc-wrapper with GraalVM Native Image #1345

@kcsurapaneni

Description

@kcsurapaneni

Describe the feature

The goal of this feature request is to add support for the aws-advanced-jdbc-wrapper library to be compatible with GraalVM native image builds. Currently, the library is not fully compatible with native image generation, which makes it difficult to use in applications that leverage GraalVM’s native image capabilities for improved performance and reduced startup times.

This feature would involve ensuring that the library’s dependencies, reflection, and dynamic class loading are properly handled when compiling into a native image. The desired outcome is to allow seamless integration of the aws-advanced-jdbc-wrapper in applications built with GraalVM native image, especially when used in Spring Boot applications packaged with paketobuildpacks/java-native-image.

Use Case

In this use case, the library is being used within a Spring Boot application, which is packaged and deployed using GraalVM’s native image capabilities (via paketobuildpacks/java-native-image). The goal is to benefit from GraalVM's faster startup times and lower memory footprint, while still utilizing the aws-advanced-jdbc-wrapper for efficient database management.

Currently, the lack of native image compatibility is causing issues, preventing smooth integration of the library into the native image build process. By enabling support for GraalVM native images, this feature would allow developers to continue using the aws-advanced-jdbc-wrapper library while fully utilizing GraalVM's native image benefits in production environments.

Proposed Solution

No response

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

The AWS Advanced JDBC Driver version used

2.3.9

JDK version used

java version "21.0.2" 2024-01-16 LTS

Operating System and version

macOS 15.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions