Skip to content

NrgXnat/dist-events

Repository files navigation

XNAT Distributed Events Plugin README

The XNAT distributed events plugin enables XNAT to propagate events across multiple nodes in a distributed configuration. It uses ActiveMQ's Publish/Subscribe messaging to make critical system events that occur on a single node available to other nodes in a distributed configuration.

Note: The distributed events plugin is intended to be deployed in a distributed XNAT configuration with a shared external ActiveMQ server. While installing this plugin shouldn't cause any issues in a single-XNAT deployment, it won't provide any functionality in that environment.

Building

To build the distributed events plugin, run the following command:

./gradlew clean xnatPluginJar

You can find the newly built plugin jar at:

build/libs/dist-events-1.0.0-SNAPSHOT-xpl.jar

Requirements

To take advantage of the distributed events functionality, you should have:

  • A multi-node XNAT configuration (verify that each node in your multi-node configuration has its own distinct node ID configured in ${XNAT_HOME}/config/node-conf.properties)
  • An external stand-alone ActiveMQ server
  • If your multi-node configuration is using a front-end load balancer such as nginx or traefik, you should make sure it's using sticky sessions

Deploying

To deploy the distributed events plugin, perform the following procedure for each XNAT server in your deployment:

  1. Shut down Tomcat
  2. Copy the plugin jar to the plugins folder for your XNAT server(s)
  3. Restart Tomcat

Once you've installed the plugin to each of your servers, you're ready to being using distributed events.

About

Event propagation utility for Multi-node XNAT deployments

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages