When Camel flow contains error handling as continued(Predicate), it is not invoked when the error occurs for the second time (even in different onException). What is more the exception is not handled even by global onException and Camel flow is interrupted.
It is similar issue to https://issues.apache.org/jira/browse/CAMEL-4057
but not for continued(true) but continued(Predicate).
The same fix also fixes this problem. Simply adding
just before returning true from the Predicate makes the second onException being called and the second time the exception is raised it can be continued again.