Storing HTTP Session Data from Red Hat JBoss EAP to Red Hat Data Grid

Prepare EAP and Data Grid

Setup & Run Red Hat Data Grid

  • create data grid user (user: jbosseap, password: jbosseap, group: admin)

    cd redhat-datagrid-8.4.1-server/bin
    ./cli.sh user create jbosseap -p jbosseap -g admin
  • start Red Hat Data Grid, change bind address to your ip address

    cd redhat-datagrid-8.4.1-server/bin
    ./server.sh -c infinispan.xml --cluster-stack=tcp --node-name=jdg1 --bind-address=127.0.0.1

Setup & Run Red Hat JBoss EAP

  • backup your jboss-eap-7.4/standalone/configuration/standalone-ha.xml

  • configure EAP, create command line config file

    cd jboss-eap-7.4/bin
    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=127.0.0.1)
    batch
    /subsystem=infinispan/remote-cache-container=jdg_rc:add(default-remote-cluster=infinispan-server-cluster, module=org.wildfly.clustering.web.hotrod, protocol-version=3.0, statistics-enabled=true, properties={infinispan.client.hotrod.auth_username=jbosseap, infinispan.client.hotrod.auth_password=jbosseap})
    /subsystem=infinispan/remote-cache-container=jdg_rc/remote-cluster=infinispan-server-cluster:add(socket-bindings=[infinispan-server])
    run-batch
    /subsystem=infinispan/remote-cache-container=jdg_rc/near-cache=invalidation:add(max-entries=1000)
    /subsystem=distributable-web/hotrod-session-management=sm_offload:add(remote-cache-container=jdg_rc, granularity=SESSION)
    /subsystem=distributable-web/hotrod-session-management=sm_offload/affinity=local:add()
    /subsystem=distributable-web:write-attribute(name=default-session-management,value=sm_offload)
    EOT
  • run configure EAP

    cd jboss-eap-7.4/bin
    ./jboss-cli.sh --file=wf.cli
  • Start EAP

    cd jboss-eap-7.4/bin
    ./standalone.sh --server-config=standalone-ha.xml -Djboss.default.jgroups.stack=tcp -Dprogram.name=wfl1 -Djboss.node.name=wfl1 -b 0.0.0.0
  • Optional!: Start EAP with port offset (copy jboss-eap-7.4 to jboss-eap-7.4-2) for test multiple eap instance

    cd jboss-eap-7.4-2/bin
    ./standalone.sh --server-config=standalone-ha.xml -Djboss.default.jgroups.stack=tcp -Dprogram.name=wfl2 -Djboss.node.name=wfl2 -Djboss.socket.binding.port-offset=100 -b 0.0.0.0

Deploy Test Application

  • clusterbench-ee8.ear

    cd eap-datagrid
    cp clusterbench-ee8.ear ../jboss-eap-7.4/standalone/deployments/
  • verify-cluster.war

    cd eap-datagrid
    cp verify-cluster.war ../jboss-eap-7.4/standalone/deployments/
  • Test with your browser