diff --git a/testsuite/integration-arquillian/HOW-TO-RUN.md b/testsuite/integration-arquillian/HOW-TO-RUN.md
index 455791016d..02cb7d5dda 100644
--- a/testsuite/integration-arquillian/HOW-TO-RUN.md
+++ b/testsuite/integration-arquillian/HOW-TO-RUN.md
@@ -431,12 +431,20 @@ The cross DC requires setting a profile specifying used cache server (currently
#### Run Cross-DC Tests from Maven
-First compile the Infinispan test server via the following command:
+First compile the Infinispan/JDG test server via the following command:
`mvn -Pcache-server-infinispan -f testsuite/integration-arquillian -DskipTests clean install`
+or
+
+ `mvn -Pcache-server-jdg -f testsuite/integration-arquillian -DskipTests clean install`
+
Then you can run the tests using the following command (adjust the test specification according to your needs):
`mvn -Pcache-server-infinispan -Dtest=*.crossdc.* -pl testsuite/integration-arquillian/tests/base test`
+or
+
+ `mvn -Pcache-server-jdg -Dtest=*.crossdc.* -pl testsuite/integration-arquillian/tests/base test`
+
_Someone using IntelliJ IDEA, please describe steps for that IDE_
diff --git a/testsuite/integration-arquillian/servers/cache-server/jboss/jdg/pom.xml b/testsuite/integration-arquillian/servers/cache-server/jboss/jdg/pom.xml
new file mode 100644
index 0000000000..8fa5902e02
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/cache-server/jboss/jdg/pom.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+ org.keycloak.testsuite
+ integration-arquillian-servers-cache-server-jboss
+ 3.2.0.CR1-SNAPSHOT
+
+ 4.0.0
+
+ integration-arquillian-servers-cache-server-jdg
+ pom
+ Cache Server - JDG
+
+
+ jdg
+ cache-server-${cache.server}
+ ${containers.home}/${cache.server.container}
+
+ org.infinispan.server
+ infinispan-server
+ ${jdg.version}
+ ${cache.server.jboss.artifactId}-${jdg.version}
+
+ ${cache.default.worker.io-threads}
+ ${cache.default.worker.task-max-threads}
+
+
+
diff --git a/testsuite/integration-arquillian/servers/cache-server/jboss/jdg/src/.dont-delete b/testsuite/integration-arquillian/servers/cache-server/jboss/jdg/src/.dont-delete
new file mode 100644
index 0000000000..c969acacc9
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/cache-server/jboss/jdg/src/.dont-delete
@@ -0,0 +1 @@
+This file is to mark this Maven project as a valid option for building cache server artifact
diff --git a/testsuite/integration-arquillian/servers/cache-server/jboss/pom.xml b/testsuite/integration-arquillian/servers/cache-server/jboss/pom.xml
index 4bb15556ce..8c7f830355 100644
--- a/testsuite/integration-arquillian/servers/cache-server/jboss/pom.xml
+++ b/testsuite/integration-arquillian/servers/cache-server/jboss/pom.xml
@@ -205,6 +205,12 @@
infinispan
+
+ cache-server-jdg
+
+ jdg
+
+
diff --git a/testsuite/integration-arquillian/servers/pom.xml b/testsuite/integration-arquillian/servers/pom.xml
index e0e1078ae6..0b7e899fbe 100644
--- a/testsuite/integration-arquillian/servers/pom.xml
+++ b/testsuite/integration-arquillian/servers/pom.xml
@@ -48,6 +48,7 @@
9.0.1.Final
+ 8.4.0.Final-redhat-2
16
128
diff --git a/testsuite/integration-arquillian/tests/base/pom.xml b/testsuite/integration-arquillian/tests/base/pom.xml
index 19b38624af..caa76aa32f 100644
--- a/testsuite/integration-arquillian/tests/base/pom.xml
+++ b/testsuite/integration-arquillian/tests/base/pom.xml
@@ -126,7 +126,7 @@
${exclude.account}
${exclude.client}
${exclude.cluster}
- ${exclude.crossdc
+ ${exclude.crossdc}
${exclude.undertow.adapter}
${exclude.x509}
diff --git a/testsuite/integration-arquillian/tests/pom.xml b/testsuite/integration-arquillian/tests/pom.xml
index c14e7a758d..5ff3e023d0 100755
--- a/testsuite/integration-arquillian/tests/pom.xml
+++ b/testsuite/integration-arquillian/tests/pom.xml
@@ -41,8 +41,9 @@
undertow
true
- true
-
+ false
+ false
+
auth-server-${auth.server}
${containers.home}/${auth.server.container}
${auth.server.home}
@@ -67,7 +68,7 @@
- infinispan
+ undefined
cache-server-${cache.server}
${containers.home}/${cache.server.container}
1010
@@ -240,6 +241,22 @@
${client.key.passphrase}
${auth.server.ocsp.responder.enabled}
+
+
+ ${auth.server.crossdc}
+ ${auth.server.undertow.crossdc}
+
+ ${cache.server}
+ ${cache.server.port.offset}
+ ${cache.server.container}
+ ${cache.server.home}
+ ${cache.server.console.output}
+ ${cache.server.management.port}
+
+ ${keycloak.connectionsInfinispan.remoteStorePort}
+ ${keycloak.connectionsInfinispan.remoteStoreServer}
+
+ ${keycloak.connectionsJpa.url.crossdc}
@@ -336,6 +353,8 @@
cache-server-infinispan
infinispan
+ true
+ true
true
${cache.server.home}/standalone/configuration
@@ -344,17 +363,6 @@
org.wildfly.arquillian
wildfly-arquillian-container-managed
-
@@ -410,26 +418,79 @@
-
- maven-surefire-plugin
-
-
- true
- ${auth.server.undertow.crossdc}
+
+
+
+
+
+
+ cache-server-jdg
+
+ jdg
+ true
+ true
+ true
+ ${cache.server.home}/standalone/configuration
+
+
+
+ org.wildfly.arquillian
+ wildfly-arquillian-container-managed
+
+
- ${cache.server}
- ${cache.server.port.offset}
- ${cache.server.container}
- ${cache.server.home}
- ${cache.server.console.output}
- ${cache.server.management.port}
-
- ${keycloak.connectionsInfinispan.remoteStorePort}
- ${keycloak.connectionsInfinispan.remoteStoreServer}
-
- ${keycloak.connectionsJpa.url.crossdc}
-
-
+
+
+
+ maven-enforcer-plugin
+
+
+
+ enforce
+
+
+
+
+
+ cache.server
+ (infinispan)|(jdg)
+ Profile "cache-server-jdg" requires activation of profile "cache-server-infinispan" or "cache-server-jdg".
+
+
+
+
+
+
+
+ maven-antrun-plugin
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ unpack-cache-server-jdg
+ generate-resources
+
+ unpack
+
+
+
+
+ org.keycloak.testsuite
+ integration-arquillian-servers-cache-server-jdg
+ ${project.version}
+ zip
+ ${containers.home}
+
+
+ true
+
+
+