You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 27, 2025. It is now read-only.
Repository navigation
This repository was archived by the owner on Sep 27, 2025. It is now read-only.
Snoozle DB's use of reflection creates pain for GraalVM native image users #41
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
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: