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

static resolution of fallback / before-retry methods #1055

Closed
Ladicek opened this issue Oct 3, 2024 · 1 comment · Fixed by #1057
Closed

static resolution of fallback / before-retry methods #1055

Ladicek opened this issue Oct 3, 2024 · 1 comment · Fixed by #1057
Assignees
Milestone

Comments

@Ladicek
Copy link
Contributor

Ladicek commented Oct 3, 2024

Currently, fallback / before-retry methods (@Fallback.fallbackMethod, @BeforeRetry.methodName) are resolved dynamically, at the same time the other configuration is resolved. This is too late for native image compilation in Quarkus -- we need to know the full reflection configuration during build.

Therefore, this configuration must be resolved "statically". For the CDI portable extension (fully runtime behavior), this means during fault tolerance method discovery. For Quarkus, this means in the Quarkus extension. This will require porting the reflective code to discover methods to Jandex, which is something we'll just have to live with.

@Ladicek Ladicek self-assigned this Oct 3, 2024
@Ladicek Ladicek added this to the 6.5.0 milestone Oct 3, 2024
@Ladicek
Copy link
Contributor Author

Ladicek commented Oct 3, 2024

This will also mean that the configuration for @Fallback.fallbackMethod and @BeforeRetry.methodName will become build-time only in Quarkus. This is contrary to all other FT configuration, which is runtime. I guess there's no other way -- if we want to support native image properly, we have to resolve the config at build-time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant