public class FailoverException extends Exception
TODO This exception is created and passed as an argument to a method, rather than thrown. The exception is being used to represent an event, passed out to other threads. Use of exceptions as arguments rather than as exceptions is extremly confusing. Ideally use a condition or set a flag and check it instead. This exceptions-as-events pattern seems to be in a similar style to Mina code, which is not pretty, but potentially acceptable for that reason. We have the option of extending the mina model to add more events to it, that is, anything that is interested in handling failover as an event occurs below the main amq event handler, which knows the specific interface of the qpid handlers, which can pass this down as an explicit event, without it being an exception. Add failover method to BlockingMethodFrameListener, have it set a flag or interrupt the waiting thread, which then creates and raises this exception.
Constructor and Description |
---|
FailoverException(String message) |
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public FailoverException(String message)
Copyright © 2006–2016 The Apache Software Foundation. All rights reserved.