To allow for more HA test scenarios in version tests, it needs to extends the capability of hornetq-maven-plugin. Currently the plugin can start a live and a backup.
The new facility will be implemented based on this plugin and have the power to start a cluster. The idea is to add a new configuration parameter to the plugin:
<hornetqConfigurationBaseDir>target/test-classes/clusterA/</hornetqConfigurationBaseDir>
The plugin will find all server configurations under this "hornetqConfigurationBaseDir" and start them up. Each server configuration is stored in a sub-directory under it.
To let the plugin correctly identify each node and its backups the sub-directories have the following name conventions:
All live nodes configurations are stored in 'live' sub-directory, like:
.
└── target
└── test-classes
└── clusterA
└── live
├── node0
└── node1
All backups are stored in 'backup' sub-directory. The sub-directory for a live's backups is named the same as the live itself. Each backup configuration will be stored under the above dir.
A full example would be:
.
└── target
└── test-classes
└── clusterA
├── backup
│ ├── node0
│ │ └── backup0
│ └── node1
│ └── backup0
└── live
├── node0
└── node1
The plugin parses this directory tree and starts the node0 and node1 and their backups accordingly.
Any comments?