Missing Group Chat Rooms with HSQLDB

We are using OpenFire as part of a simulation architecture in which we want to bring the server up and down repeatedly with different sets of users, chat rooms, etc. configured for each scenario. We are having some trouble with our approach and are hoping to get some insight as to why. Our approach is to:

  1. Start OpenFire (v3.7.0)

  2. Configure the server’s chat rooms and users as we desire

  3. Stop OpenFire

  4. We are using th HSQLD database, so we grab the files from the embedded-db folder (openfire.lck, openfire.log, openfire.properties, openfire.script) and store these with our scenario

When we are ready to run a scenario we:

  1. Copy these 4 files back to the embedded-db folder, overwriting what is there

  2. Start the OpenFire server

This approach works sometimes and other times does not. The problem when it is does not work is that all the chat rooms that we configured are not present. If we go into the OpenFire admin console and try to re-add the missing room we get the error “Error creating the room. A room with the request ID already exists.” Then the room begins appearing.

We are not real familiar with how HSQLDB works and assume our approach is flawed in some way, but thought we would check here for suggestions. If we cannot find a solution we will probably change our approach to using XMPP messaging from our simulation program to just dynamically create the chat rooms and users as we need them and clear them out in between scenarios.

Thanks in advance for your help.

Jason