diff --git a/extensions/elytron-security-common/deployment/src/main/java/io/quarkus/elytron/security/common/deployment/QuarkusSecurityCommonProcessor.java b/extensions/elytron-security-common/deployment/src/main/java/io/quarkus/elytron/security/common/deployment/QuarkusSecurityCommonProcessor.java index 1494f35c27278..e672358f10c50 100644 --- a/extensions/elytron-security-common/deployment/src/main/java/io/quarkus/elytron/security/common/deployment/QuarkusSecurityCommonProcessor.java +++ b/extensions/elytron-security-common/deployment/src/main/java/io/quarkus/elytron/security/common/deployment/QuarkusSecurityCommonProcessor.java @@ -22,6 +22,17 @@ public void registerPasswordProvider(ElytronCommonRecorder recorder) { recorder.registerPasswordProvider(); } + /** + * Graal VM now seems to loose providers registered at static init + * + * We re-register at runtime (which is a no-op in JVM mode) + */ + @BuildStep + @Record(ExecutionTime.RUNTIME_INIT) + public void registerPasswordProviderForNative(ElytronCommonRecorder recorder) { + recorder.registerPasswordProvider(); + } + /** * Register the Elytron-provided password factory SPI implementation *