Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snoozle DB's use of reflection creates pain for GraalVM native image users #41

Open
carltonwhitehead opened this issue May 20, 2023 · 0 comments

Comments

@carltonwhitehead
Copy link
Contributor

carltonwhitehead commented May 20, 2023

GraalVM native image requires some configuration in order to include types whose only access is done reflectively. Snoozle DB Record types fit this description. Any time the user creates or changes a Record type name, or member variable, it requires a corresponding edit in the GraalVM native image configuration.

It should be theoretically possible for users of GraalVM native image to generate these configurations automatically by way of using the native image agent while running their application and/or their tests. In practice, I've found this cumbersome and/or difficult. There has to be a better way.

I could see at least one of several possible outcomes for this issue, in no particular order:

  • Discover a technique that allows GraalVM to discover types without additional configuration and update documentation accordingly
  • Reduce the use of reflection such that GraalVM needs no special consideration. (perhaps replace Jackson with a compiler plugin-based alternative such as kotlinx-serialization or similar)
  • Develop and document a simple formula that Snoozle DB / GraalVM native image users can apply to their project to reduce the configuration burden
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant