keycloak-memoizeit
Changes
picketlink/keycloak-picketlink-realm/src/main/java/org/keycloak/picketlink/realm/PartitionManagerRegistry.java 19(+19 -0)
pom.xml 2(+1 -1)
testsuite/integration/pom.xml 6(+3 -3)
Details
diff --git a/model/api/src/main/java/org/keycloak/models/Config.java b/model/api/src/main/java/org/keycloak/models/Config.java
index d1ed6af..2655eb3 100644
--- a/model/api/src/main/java/org/keycloak/models/Config.java
+++ b/model/api/src/main/java/org/keycloak/models/Config.java
@@ -46,7 +46,7 @@ public class Config {
}
public static void setAuditProvider(String provider) {
- System.setProperty(MODEL_PROVIDER_KEY, provider);
+ System.setProperty(AUDIT_PROVIDER_KEY, provider);
}
public static String getAuditExpirationSchedule() {
diff --git a/picketlink/keycloak-picketlink-realm/src/main/java/org/keycloak/picketlink/realm/PartitionManagerRegistry.java b/picketlink/keycloak-picketlink-realm/src/main/java/org/keycloak/picketlink/realm/PartitionManagerRegistry.java
index b6a5b7b..261fdb3 100644
--- a/picketlink/keycloak-picketlink-realm/src/main/java/org/keycloak/picketlink/realm/PartitionManagerRegistry.java
+++ b/picketlink/keycloak-picketlink-realm/src/main/java/org/keycloak/picketlink/realm/PartitionManagerRegistry.java
@@ -1,6 +1,7 @@
package org.keycloak.picketlink.realm;
import java.util.Map;
+import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import org.jboss.logging.Logger;
@@ -54,11 +55,23 @@ public class PartitionManagerRegistry {
protected PartitionManager createPartitionManager(Map<String,String> ldapConfig) {
IdentityConfigurationBuilder builder = new IdentityConfigurationBuilder();
+ Properties connectionProps = new Properties();
+ connectionProps.put("com.sun.jndi.ldap.connect.pool", "true");
+
+ checkSystemProperty("com.sun.jndi.ldap.connect.pool.authentication", "none simple");
+ checkSystemProperty("com.sun.jndi.ldap.connect.pool.initsize", "1");
+ checkSystemProperty("com.sun.jndi.ldap.connect.pool.maxsize", "10");
+ checkSystemProperty("com.sun.jndi.ldap.connect.pool.prefsize", "5");
+ checkSystemProperty("com.sun.jndi.ldap.connect.pool.timeout", "300000");
+ checkSystemProperty("com.sun.jndi.ldap.connect.pool.protocol", "plain");
+ checkSystemProperty("com.sun.jndi.ldap.connect.pool.debug", "off");
+
// Use same mapping for User and Agent for now
builder
.named("SIMPLE_LDAP_STORE_CONFIG")
.stores()
.ldap()
+ .connectionProperties(connectionProps)
.addCredentialHandler(LDAPAgentIgnoreCredentialHandler.class)
.baseDN(ldapConfig.get(LdapConstants.BASE_DN))
.bindDN(ldapConfig.get(LdapConstants.BIND_DN))
@@ -77,6 +90,12 @@ public class PartitionManagerRegistry {
return new DefaultPartitionManager(builder.buildAll());
}
+ private void checkSystemProperty(String name, String defaultValue) {
+ if (System.getProperty(name) == null) {
+ System.setProperty(name, defaultValue);
+ }
+ }
+
private class PartitionManagerContext {
private PartitionManagerContext(Map<String,String> config, PartitionManager manager) {
pom.xml 2(+1 -1)
diff --git a/pom.xml b/pom.xml
index e62a6d4..94e25e2 100755
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,7 @@
<resteasy.version.eap.6.3>2.3.7.Final</resteasy.version.eap.6.3>
<resteasy.version.latest>3.0.8.Final</resteasy.version.latest>
<undertow.version>1.0.0.Final</undertow.version>
- <picketlink.version>2.6.0.CR1</picketlink.version>
+ <picketlink.version>2.6.0.CR2</picketlink.version>
<picketbox.ldap.version>1.0.2.Final</picketbox.ldap.version>
<mongo.driver.version>2.11.3</mongo.driver.version>
<jboss.logging.version>3.1.1.GA</jboss.logging.version>
testsuite/integration/pom.xml 6(+3 -3)
diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml
index 28fc5cb..5566e60 100755
--- a/testsuite/integration/pom.xml
+++ b/testsuite/integration/pom.xml
@@ -462,9 +462,9 @@
<keycloak.mongo.db>${keycloak.mongo.db}</keycloak.mongo.db>
<keycloak.audit>mongo</keycloak.audit>
- <keycloak.audit.host>${keycloak.mongo.host}</keycloak.audit.host>
- <keycloak.audit.port>${keycloak.mongo.port}</keycloak.audit.port>
- <keycloak.audit.db>${keycloak.mongo.db}</keycloak.audit.db>
+ <keycloak.audit.mongo.host>${keycloak.mongo.host}</keycloak.audit.mongo.host>
+ <keycloak.audit.mongo.port>${keycloak.mongo.port}</keycloak.audit.mongo.port>
+ <keycloak.audit.mongo.db>${keycloak.mongo.db}</keycloak.audit.mongo.db>
<keycloak.mongo.clearOnStartup>${keycloak.mongo.clearOnStartup}</keycloak.mongo.clearOnStartup>
</systemPropertyVariables>