I have a Java application that waits for an infrequent event (say evrey
three hours) and then writes a message onto a remote (US) MQBroker
using the Java MQ client. The MQ Broker will push the message to a
broker in the UK. The critical piece of this is minimizing th e latency
between the Java client receiving an event and the UK broker getting a
message.

Should the Java client attempt to have a persistent connection to the
MQbroker?
Currently theres a firewall inbetween that will close connections
without the client detecting it.
Should the client establish the connection when required?

Is one approach recommended?

Toby.