{"record":{"id":"e02db60c9bc4f6c2","repo":"flowable/flowable-engine","slug":"requested-business-calendar-businesscalendarref","errorCode":null,"errorMessage":"Requested business calendar ${businessCalendarRef} does not exist. Allowed calendars are ${businessCalendars.keySet()}.","messagePattern":"Requested business calendar (.+?) does not exist\\. Allowed calendars are (.+?)\\.","errorType":"exception","errorClass":"org.flowable.common.engine.api.FlowableException","httpStatus":null,"severity":"error","filePath":"modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/calendar/MapBusinessCalendarManager.java","lineNumber":43,"sourceCode":"    private final Map<String, BusinessCalendar> businessCalendars;\n\n    public MapBusinessCalendarManager() {\n        this.businessCalendars = new HashMap<>();\n    }\n\n    public MapBusinessCalendarManager(Map<String, BusinessCalendar> businessCalendars) {\n        if (businessCalendars == null) {\n            throw new IllegalArgumentException(\"businessCalendars can not be null\");\n        }\n\n        this.businessCalendars = new HashMap<>(businessCalendars);\n    }\n\n    @Override\n    public BusinessCalendar getBusinessCalendar(String businessCalendarRef) {\n        BusinessCalendar businessCalendar = businessCalendars.get(businessCalendarRef);\n        if (businessCalendar == null) {\n            throw new FlowableException(\"Requested business calendar \" + businessCalendarRef +\n                    \" does not exist. Allowed calendars are \" + this.businessCalendars.keySet() + \".\");\n        }\n        return businessCalendar;\n    }\n\n    public BusinessCalendarManager addBusinessCalendar(String businessCalendarRef, BusinessCalendar businessCalendar) {\n        businessCalendars.put(businessCalendarRef, businessCalendar);\n        return this;\n    }\n}\n","sourceCodeStart":25,"sourceCodeEnd":54,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/calendar/MapBusinessCalendarManager.java#L25-L54","documentation":"Lookup failure in MapBusinessCalendarManager.getBusinessCalendar: a timer referenced a business calendar name (e.g. via the calendarName attribute) that is not among the registered calendars; the allowed names are listed in the message.","triggerScenarios":"Thrown at modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/calendar/MapBusinessCalendarManager.java:43 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use one of the registered calendar names (the message lists them: cycle, duration, dueDate, default)","Register a custom BusinessCalendar under the requested name in the engine configuration"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-18T11:17:12.947Z"}