If you have a custom Scheduler set on the QuartzComponent and multiple camel contexts per scheduler, then you must have JMX enabled for it work right. Ideally, it should not require JMX to be enabled to work correctly. Specifically, QuartzComponent.onCamelContextStarted(CamelContext, boolean) will make a map key that depends on the context's managementName, which is not set if JMX is not enabled. Without a managementName, all contexts with quartz routes end up with a key named CamelQuartzCamelContext - null, and then when the CamelJob executes it will retrieve the wrong context.
Note we worked around this by injecting a custom LifecycleStrategy that sets the managementName in onContextStart(). But ideally we shouldn't have to do that.