Connect EAP and RHDG using an un-encrypted connection;
EAP version must be at least 7.4.0.CD21: with 7.4.0.CD20 you still have to use jboss-datagrid-7.3.8-server since remote-cache-container
doesn't have the necessary properties
needed to configure security;
In case you want to use EAP version prior to 7.4.0.CD21, you have to disable JDG security (note there is no cli): in ./redhat-datagrid-8.1.1-server/server/conf/infinispan.xml
remove security-realm="default"
from <endpoints socket-binding="default" security-realm="default">
;
This user is needed because the access to RHDG is password protected by default (./redhat-datagrid-8.1.1-server/server/conf/infinispan.xml
: <endpoints socket-binding="default" security-realm="default">
):
./redhat-datagrid-8.1.1-server/bin/cli.sh user create jbosseap -p jbosseap
./redhat-datagrid-8.1.1-server/bin/server.sh -c infinispan.xml --cluster-stack=tcp --node-name=jdg1 --bind-address=$(hostname -I | cut -d' ' -f1)
This is inspired by InfinispanServerSetupTask.java:
cat <<EOT > wf.cli
embed-server --std-out=echo --server-config=standalone-ha.xml
/subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcp)
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=infinispan-server:add(port=11222,host=$(hostname -I | cut -d' ' -f1))
batch
/subsystem=infinispan/remote-cache-container=jdg_rc:add(default-remote-cluster=infinispan-server-cluster, properties={infinispan.client.hotrod.auth_username=jbosseap, infinispan.client.hotrod.auth_password=jbosseap}, protocol-version=3.0, statistics-enabled=true)
/subsystem=infinispan/remote-cache-container=jdg_rc/remote-cluster=infinispan-server-cluster:add(socket-bindings=[infinispan-server])
run-batch
/subsystem=infinispan/cache-container=web/invalidation-cache=jdg_ic:add()
/subsystem=infinispan/cache-container=web/invalidation-cache=jdg_ic/store=hotrod:add(remote-cache-container=jdg_rc,fetch-state=false,preload=false,passivation=false,purge=false,shared=true)
/subsystem=infinispan/cache-container=web:write-attribute(name=default-cache, value=jdg_ic)
EOT
./jboss-eap-7.4/bin/jboss-cli.sh --file=wf.cli
NOTE: The configurations that use an invalidation-cache do not require that the associated remote-cache-container specify
module=org.wildfly.clustering.web.hotrod
. That is only needed when using hotrod-session-management or hotrod-single-sign-on-management;
./jboss-eap-7.4/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.default.jgroups.stack=tcp -Dprogram.name=wfl1 -Djboss.node.name=wfl1
cp ../clusterbench-ee8.ear ./jboss-eap-7.4/standalone/deployments/
curl http://localhost:8080/clusterbench/session