in components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java [245:281]
private void maybeStart() throws Exception {
LOG.trace("maybeStart: {}", this);
if (!routeDefinitionValid.get()) {
LOG.trace("maybeStart: {} is skipping since CamelRoute definition is not correct.", this);
return;
}
// allow to register the BluerintCamelContext eager in the OSGi Service Registry, which ex is needed
// for unit testing with camel-test-blueprint
boolean eager = "true".equalsIgnoreCase(System.getProperty("registerBlueprintCamelContextEager"));
if (eager) {
for (EventNotifier notifier : getManagementStrategy().getEventNotifiers()) {
if (notifier instanceof OsgiCamelContextPublisher) {
OsgiCamelContextPublisher publisher = (OsgiCamelContextPublisher) notifier;
publisher.registerCamelContext(this);
break;
}
}
}
// for example from unit testing we want to start Camel later and not
// when blueprint loading the bundle
boolean skip = "true".equalsIgnoreCase(System.getProperty("skipStartingCamelContext"));
if (skip) {
LOG.trace("maybeStart: {} is skipping as System property skipStartingCamelContext is set", this);
return;
}
if (!isStarted() && !isStarting()) {
LOG.debug("Starting {}", this);
start();
} else {
// ignore as Camel is already started
LOG.trace("Ignoring maybeStart() as {} is already started", this);
}
}