Show Table of Contents
2.3. Client-side Failure Handling
The JMS specification does not control how the server should behave on High Availability fail over, or clustering. However, the specification does recommend how an application must handle failures and rollback scenarios.
JBoss Messaging does not throw an exception to the client during fail over. Applications in JBoss Messaging are automatically connected to another node in the cluster.
In HornetQ, fail over or rollback triggers an exception. Your JBoss Messaging application must capture this exception and retry sending the message for it to be compatible with HornetQ.
In JBoss Messaging, the following expression was sufficient to handle failures:
producer.send(createMessage(session, i));
System.out.println("Message: " + i);
In HornetQ, the following try block is required:
try {
producer.send(createMessage(session, i));
System.out.println("Message: " + i);
} catch (Exception e) {
Thread.sleep(1000);
producer.send(createMessage(session, i));
}
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.