keycloak-memoizeit

Merge pull request #1515 from stianst/master KEYCLOAK-1702

7/29/2015 8:07:09 AM

Changes

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-sessions-mem/main/module.xml 16(+0 -16)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/META-INF/keycloak-server.json 82(+0 -82)

distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-as7-server-subsystem/main/server-war/META-INF/keycloak-server.json 82(+0 -82)

distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-model-sessions-mem/main/module.xml 16(+0 -16)

distribution/server-overlay/eap6/eap6-server-overlay/src/main/keycloak-server.json 82(+0 -82)

model/pom.xml 1(+0 -1)

model/sessions-mem/pom.xml 29(+0 -29)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/ClientSessionAdapter.java 200(+0 -200)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/entities/ClientSessionEntity.java 152(+0 -152)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/entities/UsernameLoginFailureEntity.java 72(+0 -72)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/entities/UsernameLoginFailureKey.java 36(+0 -36)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/entities/UserSessionEntity.java 147(+0 -147)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/MemUserSessionProvider.java 382(+0 -382)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/MemUserSessionProviderFactory.java 58(+0 -58)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/UsernameLoginFailureAdapter.java 71(+0 -71)

model/sessions-mem/src/main/java/org/keycloak/models/sessions/mem/UserSessionAdapter.java 148(+0 -148)

model/sessions-mem/src/main/resources/META-INF/services/org.keycloak.models.UserSessionProviderFactory 1(+0 -1)

pom.xml 5(+0 -5)

Details

diff --git a/dependencies/server-all/pom.xml b/dependencies/server-all/pom.xml
index 8155428..b8d0824 100755
--- a/dependencies/server-all/pom.xml
+++ b/dependencies/server-all/pom.xml
@@ -42,10 +42,6 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-model-sessions-mem</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-model-sessions-jpa</artifactId>
         </dependency>
         <dependency>
@@ -181,4 +177,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/keycloak-server.json b/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/keycloak-server.json
index 9b8f051..ee56f78 100644
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/keycloak-server.json
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/keycloak-server.json
@@ -23,18 +23,15 @@
     },
 
     "userSessions": {
-        "provider" : "mem"
+        "provider" : "infinispan"
     },
 
     "realmCache": {
-        "provider": "mem"
+        "provider": "infinispan"
     },
 
     "userCache": {
-        "provider": "mem",
-        "mem": {
-            "maxSize": 20000
-        }
+        "provider": "infinispan"
     },
 
     "timer": {
@@ -78,5 +75,11 @@
             "dataSource": "java:jboss/datasources/KeycloakDS",
             "databaseSchema": "update"
         }
+    },
+
+    "connectionsInfinispan": {
+        "default" : {
+            "cacheContainer" : "java:jboss/infinispan/Keycloak"
+        }
     }
 }
\ No newline at end of file
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
index f67884e..9205748 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
@@ -37,7 +37,6 @@
             <module name="org.keycloak.keycloak-model-file" services="import"/>
             <module name="org.keycloak.keycloak-model-sessions-infinispan" services="import"/>
             <module name="org.keycloak.keycloak-model-sessions-jpa" services="import"/>
-            <module name="org.keycloak.keycloak-model-sessions-mem" services="import"/>
             <module name="org.keycloak.keycloak-model-sessions-mongo" services="import"/>
             <module name="org.keycloak.keycloak-saml-protocol" services="import"/>
             <module name="org.keycloak.keycloak-services" export="true" services="import"/>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml
index 5b55602..b062204 100644
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml
@@ -47,7 +47,6 @@
         <module name="org.keycloak.keycloak-model-file" services="import"/>
         <module name="org.keycloak.keycloak-model-sessions-infinispan" services="import"/>
         <module name="org.keycloak.keycloak-model-sessions-jpa" services="import"/>
-        <module name="org.keycloak.keycloak-model-sessions-mem" services="import"/>
         <module name="org.keycloak.keycloak-model-sessions-mongo" services="import"/>
         <module name="org.keycloak.keycloak-saml-core" services="import"/>
         <module name="org.keycloak.keycloak-saml-protocol" services="import"/>
diff --git a/distribution/server-overlay/eap6/eap6-server-modules/build.xml b/distribution/server-overlay/eap6/eap6-server-modules/build.xml
index a46a26a..1f30da0 100755
--- a/distribution/server-overlay/eap6/eap6-server-modules/build.xml
+++ b/distribution/server-overlay/eap6/eap6-server-modules/build.xml
@@ -189,10 +189,6 @@
             <maven-resource group="org.keycloak" artifact="keycloak-model-jpa"/>
         </module-def>
 
-        <module-def name="org.keycloak.keycloak-model-sessions-mem">
-            <maven-resource group="org.keycloak" artifact="keycloak-model-sessions-mem"/>
-        </module-def>
-
         <module-def name="org.keycloak.keycloak-model-sessions-jpa">
             <maven-resource group="org.keycloak" artifact="keycloak-model-sessions-jpa"/>
         </module-def>
diff --git a/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-as7-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml b/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-as7-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
index f67884e..9205748 100755
--- a/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-as7-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
+++ b/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-as7-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
@@ -37,7 +37,6 @@
             <module name="org.keycloak.keycloak-model-file" services="import"/>
             <module name="org.keycloak.keycloak-model-sessions-infinispan" services="import"/>
             <module name="org.keycloak.keycloak-model-sessions-jpa" services="import"/>
-            <module name="org.keycloak.keycloak-model-sessions-mem" services="import"/>
             <module name="org.keycloak.keycloak-model-sessions-mongo" services="import"/>
             <module name="org.keycloak.keycloak-saml-protocol" services="import"/>
             <module name="org.keycloak.keycloak-services" export="true" services="import"/>
diff --git a/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml b/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml
index 268a788..337a5a1 100755
--- a/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml
+++ b/distribution/server-overlay/eap6/eap6-server-modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml
@@ -47,7 +47,6 @@
         <module name="org.keycloak.keycloak-model-file" services="import"/>
         <module name="org.keycloak.keycloak-model-sessions-infinispan" services="import"/>
         <module name="org.keycloak.keycloak-model-sessions-jpa" services="import"/>
-        <module name="org.keycloak.keycloak-model-sessions-mem" services="import"/>
         <module name="org.keycloak.keycloak-model-sessions-mongo" services="import"/>
 
         <module name="org.keycloak.keycloak-saml-core" services="import"/>
diff --git a/distribution/server-overlay/eap6/eap6-server-overlay/assembly.xml b/distribution/server-overlay/eap6/eap6-server-overlay/assembly.xml
index e95f6aa..9a9e490 100755
--- a/distribution/server-overlay/eap6/eap6-server-overlay/assembly.xml
+++ b/distribution/server-overlay/eap6/eap6-server-overlay/assembly.xml
@@ -34,7 +34,7 @@
             <destName>standalone-keycloak-ha.xml</destName>
         </file>
         <file>
-            <source>src/main/keycloak-server.json</source>
+            <source>../../../feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/keycloak-server.json</source>
             <outputDirectory>standalone/configuration</outputDirectory>
         </file>
         <file>
diff --git a/distribution/server-overlay/eap6/eap6-server-overlay/src/main/xslt/standalone.xsl b/distribution/server-overlay/eap6/eap6-server-overlay/src/main/xslt/standalone.xsl
index 519b4a7..3d4b77c 100755
--- a/distribution/server-overlay/eap6/eap6-server-overlay/src/main/xslt/standalone.xsl
+++ b/distribution/server-overlay/eap6/eap6-server-overlay/src/main/xslt/standalone.xsl
@@ -9,6 +9,7 @@
 
     <xsl:param name="config"/>
     <xsl:variable name="log" select="'urn:jboss:domain:logging:'"/>
+    <xsl:variable name="inf" select="'urn:jboss:domain:infinispan:'"/>
 
     <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="4" standalone="no"/>
     <xsl:strip-space elements="*"/>
@@ -44,6 +45,18 @@
         </xsl:copy>
     </xsl:template>
 
+    <xsl:template match="//*[local-name()='subsystem' and starts-with(namespace-uri(), $inf)]">
+        <xsl:copy>
+            <cache-container name="keycloak" jndi-name="infinispan/Keycloak" start="EAGER">
+                <local-cache name="realms"/>
+                <local-cache name="users"/>
+                <local-cache name="sessions"/>
+                <local-cache name="loginFailures"/>
+            </cache-container>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+
     <xsl:template match="//*[local-name()='subsystem' and starts-with(namespace-uri(), $log)]">
         <xsl:copy>
             <xsl:apply-templates select="node()|@*"/>
diff --git a/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml b/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml
index 256f100..8b4d6e5 100755
--- a/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml
+++ b/docbook/reference/en/en-US/modules/MigrationFromOlderVersions.xml
@@ -80,6 +80,21 @@
     <section>
         <title>Version specific migration</title>
         <section>
+            <title>Migrating to 1.5.0.Final</title>
+            <simplesect>
+                <title>Infinispan set to default cache and user session providers</title>
+                <para>
+                    Infinispan is now the default cache and user session provider.
+                </para>
+            </simplesect>
+            <simplesect>
+                <title>Mem user session provider</title>
+                <para>
+                    The mem user session provider has been removed. Instead the Infinispan user session provider with a local cache should be used.
+                </para>
+            </simplesect>
+        </section>
+        <section>
             <title>Migrating to 1.3.0.Final</title>
             <simplesect>
                 <title>Direct Grant API always enabled</title>
diff --git a/integration/wildfly/wf9-server-subsystem/src/main/resources/subsystem-templates/keycloak-infinispan.xml b/integration/wildfly/wf9-server-subsystem/src/main/resources/subsystem-templates/keycloak-infinispan.xml
index 30706ac..1d92afc 100644
--- a/integration/wildfly/wf9-server-subsystem/src/main/resources/subsystem-templates/keycloak-infinispan.xml
+++ b/integration/wildfly/wf9-server-subsystem/src/main/resources/subsystem-templates/keycloak-infinispan.xml
@@ -7,6 +7,12 @@
     </subsystem>
     <supplement name="default">
         <replacement placeholder="CACHE-CONTAINERS">
+            <cache-container name="keycloak" jndi-name="infinispan/Keycloak">
+                <local-cache name="realms"/>
+                <local-cache name="users"/>
+                <local-cache name="sessions"/>
+                <local-cache name="loginFailures"/>
+            </cache-container>
             <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
                 <local-cache name="default">
                     <transaction mode="BATCH"/>
diff --git a/model/jpa/pom.xml b/model/jpa/pom.xml
index bb4512a..8c21cee 100755
--- a/model/jpa/pom.xml
+++ b/model/jpa/pom.xml
@@ -53,12 +53,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-model-sessions-mem</artifactId>
-            <scope>test</scope>
-
-        </dependency>
-        <dependency>
             <groupId>org.jboss.resteasy</groupId>
             <artifactId>resteasy-jaxrs</artifactId>
             <scope>provided</scope>

model/pom.xml 1(+0 -1)

diff --git a/model/pom.xml b/model/pom.xml
index 6601bc6..6b70f5a 100755
--- a/model/pom.xml
+++ b/model/pom.xml
@@ -31,7 +31,6 @@
         <module>mongo</module>
         <module>file</module>
         <module>sessions-jpa</module>
-        <module>sessions-mem</module>
         <module>sessions-mongo</module>
         <module>sessions-infinispan</module>
     </modules>

pom.xml 5(+0 -5)

diff --git a/pom.xml b/pom.xml
index c10aa50..a504455 100755
--- a/pom.xml
+++ b/pom.xml
@@ -952,11 +952,6 @@
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-model-sessions-mem</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-model-sessions-mongo</artifactId>
                 <version>${project.version}</version>
             </dependency>