public class FlowException
Exception which can be thrown by a class FlowLogic
at any point in its logic to unexpectedly bring it to a permanent end.
The exception will propagate to all counterparty flows and will be thrown on their end the next time they wait on a
FlowSession.receive or FlowSession.sendAndReceive. Any flow which no longer needs to do a receive, or has already
ended, will not receive the exception (if this is required then have them wait for a confirmation message).
If the rethrown exception FlowException
is uncaught in counterparty flows and propagation triggers then the exception is
downgraded to an exception UnexpectedFlowEndException
. This means only immediate counterparty flows will receive information
about what the exception was.
exception FlowException
(or a subclass) can be a valid expected response from a flow, particularly ones which act as a service.
It is recommended a class FlowLogic
document the exception FlowException
types it can throw.
Constructor and Description |
---|
FlowException(java.lang.String message,
java.lang.Throwable cause,
java.lang.Long originalErrorId)
Exception which can be thrown by a
class FlowLogic at any point in its logic to unexpectedly bring it to a permanent end.
The exception will propagate to all counterparty flows and will be thrown on their end the next time they wait on a
FlowSession.receive or FlowSession.sendAndReceive. Any flow which no longer needs to do a receive, or has already
ended, will not receive the exception (if this is required then have them wait for a confirmation message). |
FlowException(java.lang.String message,
java.lang.Throwable cause) |
FlowException(java.lang.String message) |
FlowException(java.lang.Throwable cause) |
FlowException() |
Modifier and Type | Method and Description |
---|---|
java.lang.Long |
getErrorId() |
java.lang.Long |
getOriginalErrorId()
the ID backing
|
void |
setOriginalErrorId(java.lang.Long p)
the ID backing
|
public FlowException(java.lang.String message, java.lang.Throwable cause, java.lang.Long originalErrorId)
Exception which can be thrown by a class FlowLogic
at any point in its logic to unexpectedly bring it to a permanent end.
The exception will propagate to all counterparty flows and will be thrown on their end the next time they wait on a
FlowSession.receive or FlowSession.sendAndReceive. Any flow which no longer needs to do a receive, or has already
ended, will not receive the exception (if this is required then have them wait for a confirmation message).
If the rethrown exception FlowException
is uncaught in counterparty flows and propagation triggers then the exception is
downgraded to an exception UnexpectedFlowEndException
. This means only immediate counterparty flows will receive information
about what the exception was.
exception FlowException
(or a subclass) can be a valid expected response from a flow, particularly ones which act as a service.
It is recommended a class FlowLogic
document the exception FlowException
types it can throw.
originalErrorId
- the ID backing FlowException.getErrorId
. If null it will be set dynamically by the flow framework when the exception is handled. This ID is propagated to counterparty flows, even when the exception FlowException
is downgraded to an exception UnexpectedFlowEndException
. This is so the error conditions may be correlated later on.class FlowLogic
,
exception FlowException
,
exception UnexpectedFlowEndException
,
exception FlowException
,
class FlowLogic
,
exception FlowException
public FlowException(java.lang.String message, java.lang.Throwable cause)
public FlowException(java.lang.String message)
public FlowException(java.lang.Throwable cause)
public FlowException()
public java.lang.Long getErrorId()
public java.lang.Long getOriginalErrorId()
the ID backing
FlowException.getErrorId
. If null it will be set dynamically by the flow framework when the exception is handled. This ID is propagated to counterparty flows, even when the exception FlowException
is downgraded to an exception UnexpectedFlowEndException
. This is so the error conditions may be correlated later on.
public void setOriginalErrorId(java.lang.Long p)
the ID backing
FlowException.getErrorId
. If null it will be set dynamically by the flow framework when the exception is handled. This ID is propagated to counterparty flows, even when the exception FlowException
is downgraded to an exception UnexpectedFlowEndException
. This is so the error conditions may be correlated later on.
p
- the ID backing FlowException.getErrorId
. If null it will be set dynamically by the flow framework when the exception is handled. This ID is propagated to counterparty flows, even when the exception FlowException
is downgraded to an exception UnexpectedFlowEndException
. This is so the error conditions may be correlated later on.FlowException.getErrorId
,
exception FlowException
,
exception UnexpectedFlowEndException