Возможные проблемы
Вводная часть
Здесь описаны ошибки, которые могут возникнуть при работе процессов, и некоторые способы их решения.
1. Ошибка при сохранении большого количества диагностических сообщений шагов процесса
- В MongoDB максимальный размер документа составляет
16MB
. При попытке сохранения документа, превышающего данное ограничение, генерируется ошибка BsomMaximumSizeExceededException. - Была добавлена настраиваемая конфигурация количества сообщений, которые будут сохранены в MongoDB в базе данных mybpm_process в коллекции конкретной версии процесса bo_process_boProcessId (название коллекции).
- При сохранении этапа (шага) процесса, сохраняются последние N диагностических сообщений (N - настройка в конфигурации).
2. Сокращенные exceptionStackTrace при просмотре диагностических сообщений
При частой генерации ошибок, имеющих одну и ту же причину (cause) возникновения в одном и том же участке кода, JVM оптимизирует генерацию неявных исключений (implicit exception) такие, как:
- NullPointerException
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- ClassCastException
При данной оптимизации, JVM опускает stack trace.
Для того чтобы отключить данную оптимизацию, нужно добавить следующий параметр запуска JVM:
-XX:-OmitStackTraceInFastThrow