diff --git "a/elytron/src/main/java/org/wildfly/extension/elytron/JaasRealmDefinition.java" "b/elytron/src/main/java/org/wildfly/extension/elytron/JaasRealmDefinition.java" index 829be3cfb9..2d328fa67b 100644 --- "a/elytron/src/main/java/org/wildfly/extension/elytron/JaasRealmDefinition.java" +++ "b/elytron/src/main/java/org/wildfly/extension/elytron/JaasRealmDefinition.java" @@ -33,6 +33,7 @@ import org.jboss.as.controller.capability.RuntimeCapability; import org.jboss.as.controller.registry.ManagementResourceRegistration; import org.jboss.as.controller.registry.OperationEntry; import org.jboss.as.controller.services.path.PathManager; +import org.jboss.as.controller.services.path.PathManagerService; import org.jboss.dmr.ModelNode; import org.jboss.dmr.ModelType; import org.jboss.msc.service.ServiceBuilder; @@ -139,6 +140,8 @@ public class JaasRealmDefinition extends SimpleResourceDefinition { throw ROOT_LOGGER.failedToLoadCallbackhandlerFromProvidedModule(); } + final InjectedValue pathManagerInjector = new InjectedValue<>(); + CallbackHandler finalCallbackHandler = callbackhandler; TrivialService jaasRealmService = new TrivialService<>( new TrivialService.ValueSupplier() { @@ -149,7 +152,6 @@ public class JaasRealmDefinition extends SimpleResourceDefinition { String rootPath = null; if (jaasConfigPath != null) { pathResolver = pathResolver(); - final InjectedValue pathManagerInjector = new InjectedValue<>(); File jaasConfigFile = pathResolver.path(jaasConfigPath).relativeTo(relativeTo, pathManagerInjector.getOptionalValue()).resolve(); if (!jaasConfigFile.exists()) { throw ROOT_LOGGER.jaasFileDoesNotExist(jaasConfigFile.getPath()); @@ -173,7 +175,7 @@ public class JaasRealmDefinition extends SimpleResourceDefinition { if (relativeTo != null) { serviceBuilder.requires(pathName(relativeTo)); - serviceBuilder.requires(pathName(jaasConfigPath)); + serviceBuilder.addDependency(PathManagerService.SERVICE_NAME, PathManager.class, pathManagerInjector); } commonDependencies(serviceBuilder)