To collect data from the DB and send to the external system, how about this idea?
1. Write a simple standalone
Java program that will pull information from the DB and send a JMS message (via JMS API) to the Queue.
2. Schedule the above process as a CRON job in ONE of the servers. You can set any period you like.
The cron job will invoke the Java process and keep sending JMS messages to the external system. With this you don't need to worry about synhronizing data between machines
Once the response is received from the external system, the process you outlined looks fine.