keycloak-uncached
Changes
distribution/war-zip/assembly.xml 7(+7 -0)
Details
diff --git a/distribution/appliance-dist/assembly.xml b/distribution/appliance-dist/assembly.xml
index 957cc36..049062a 100755
--- a/distribution/appliance-dist/assembly.xml
+++ b/distribution/appliance-dist/assembly.xml
@@ -39,6 +39,13 @@
</excludes>
</fileSet>
<fileSet>
+ <directory>${project.build.directory}/unpacked/deployments/auth-server.war/WEB-INF/classes/META-INF</directory>
+ <outputDirectory>keycloak/standalone/configuration</outputDirectory>
+ <includes>
+ <include>keycloak-server.json</include>
+ </includes>
+ </fileSet>
+ <fileSet>
<directory>${project.build.directory}/unpacked/themes</directory>
<outputDirectory>keycloak/standalone/configuration/themes</outputDirectory>
</fileSet>
distribution/war-zip/assembly.xml 7(+7 -0)
diff --git a/distribution/war-zip/assembly.xml b/distribution/war-zip/assembly.xml
index 89ed1aa..124b455 100755
--- a/distribution/war-zip/assembly.xml
+++ b/distribution/war-zip/assembly.xml
@@ -19,5 +19,12 @@
</includes>
<outputDirectory>deployments</outputDirectory>
</fileSet>
+ <fileSet>
+ <directory>${project.build.directory}/unpacked/deployments/auth-server.war/WEB-INF/classes/META-INF</directory>
+ <outputDirectory>configuration</outputDirectory>
+ <includes>
+ <include>keycloak-server.json</include>
+ </includes>
+ </fileSet>
</fileSets>
</assembly>
diff --git a/services/src/main/java/org/keycloak/services/DefaultProviderSessionFactory.java b/services/src/main/java/org/keycloak/services/DefaultProviderSessionFactory.java
index 128c272..1dcf5fe 100755
--- a/services/src/main/java/org/keycloak/services/DefaultProviderSessionFactory.java
+++ b/services/src/main/java/org/keycloak/services/DefaultProviderSessionFactory.java
@@ -33,7 +33,6 @@ public class DefaultProviderSessionFactory implements ProviderSessionFactory {
ProviderFactory factory = loadProviderFactory(spi, provider);
Config.Scope scope = Config.scope(spi.getName(), provider);
factory.init(scope);
- log.debug("Initialized " + factory.getClass().getName() + " (config = " + scope + ")");
factories.put(factory.getId(), factory);
@@ -42,7 +41,6 @@ public class DefaultProviderSessionFactory implements ProviderSessionFactory {
for (ProviderFactory factory : ServiceLoader.load(spi.getProviderFactoryClass())) {
Config.Scope scope = Config.scope(spi.getName(), factory.getId());
factory.init(scope);
- log.debug("Initialized " + factory.getClass().getName() + " (config = " + scope + ")");
factories.put(factory.getId(), factory);
}
diff --git a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
index c677aa8..24d7df8 100755
--- a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
+++ b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
@@ -108,7 +108,19 @@ public class KeycloakApplication extends Application {
protected void loadConfig() {
try {
- URL config = Thread.currentThread().getContextClassLoader().getResource("META-INF/keycloak-server.json");
+ URL config = null;
+
+ String configDir = System.getProperty("jboss.server.config.dir");
+ if (configDir != null) {
+ File f = new File(configDir + File.separator + "keycloak-server.json");
+ if (f.isFile()) {
+ config = f.toURI().toURL();
+ }
+ }
+
+ if (config == null) {
+ config = Thread.currentThread().getContextClassLoader().getResource("META-INF/keycloak-server.json");
+ }
if (config != null) {
JsonNode node = new ObjectMapper().readTree(config);
@@ -116,6 +128,8 @@ public class KeycloakApplication extends Application {
log.info("Loaded config from " + config);
return;
+ } else {
+ log.warn("Config 'keycloak-server.json' not found");
}
} catch (IOException e) {
throw new RuntimeException("Failed to load config", e);
diff --git a/services/src/main/java/org/keycloak/services/util/JsonConfigProvider.java b/services/src/main/java/org/keycloak/services/util/JsonConfigProvider.java
index 714e4db..0eb1cef 100644
--- a/services/src/main/java/org/keycloak/services/util/JsonConfigProvider.java
+++ b/services/src/main/java/org/keycloak/services/util/JsonConfigProvider.java
@@ -74,11 +74,11 @@ public class JsonConfigProvider implements Config.ConfigProvider {
if (n == null) {
return null;
} else if (n.isArray()) {
- ArrayList<String> l = new ArrayList<String>();
- for (JsonNode e : n) {
- l.add(StringPropertyReplacer.replaceProperties(e.getTextValue()));
+ String[] a = new String[n.size()];
+ for (int i = 0; i < a.length; i++) {
+ a[i] = StringPropertyReplacer.replaceProperties(n.get(i).getTextValue());
}
- return (String[]) l.toArray();
+ return a;
} else {
return new String[] { StringPropertyReplacer.replaceProperties(n.getTextValue()) };
}