У меня есть стратегия выбора исключений, где у меня есть стратегия исключений с несколькими уловами, где я применяю условие на основе ошибки.
Ошибка 1:
org.mule.api.MessagingException: столбец подразделения_id не может быть нулевым (java.sql.SQLIntegrityConstraintViolationException).
Ошибка 2:
org.mule.api.MessagingException: org.mule.module.db.internal.domain.connection.ConnectionCreationException: Невозможно получить соединение для URL. Jdbc: mysql: // localhost: 3306 / mulesoft: доступ запрещен для пользователя 'root1212 '@' localhost '(используя пароль: YES) (java.sql.SQLException) (org.mule.module.db.internal.processor.DbConnectionException).
Как можно различить обе ошибки, используя выражение в стратегии исключения исключений?
Первый улов - выполняется, когда:
[исключение.causeMatches («org.mule.api.MessagingException: столбец отдела_id не может быть пустым *»)]
Второй улов - выполняется, когда:
[exception.causeMatches ("org.mule.api.MessagingException: org.mule.module.db.internal.domain.connection.ConnectionCreationException *")]
При использовании этого не в состоянии вызвать стратегию исключения ловли.
[exception.causeMatches ("org.mule.api.MessagingException *")]
Это работает, но для обеих ошибок получается одна и та же начальная строка. Как я могу дифференцировать оба?