in karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/service/EventService.java [82:108]
void receiveCommand(JsonObject json) {
String projectId = json.getString(LABEL_PROJECT_ID);
Integer reloadCount = json.getInteger(RELOAD_TRY_COUNT);
LOGGER.info("DEVMODE_CONTAINER_READY " + projectId + " : " + reloadCount);
ContainerStatus status = infinispanService.getContainerStatus(projectId, environment, projectId);
CamelStatus cs = infinispanService.getCamelStatus(projectId, environment, CamelStatus.Name.context.name());
if (status != null
&& !status.getCodeLoaded()
&& status.getContainerId() != null
&& status.getState().equals(ContainerStatus.State.running.name())
&& camelIsStarted(cs)) {
LOGGER.info("CAMEL STARTED -> SEND RELOAD");
if (ConfigService.inKubernetes()) {
camelService.reloadProjectCode(projectId);
} else {
infinispanService.sendCodeReloadCommand(projectId);
}
} else if (reloadCount < 30) {
LOGGER.info("CAMEL NOT STARTED -> SEND DEVMODE_CONTAINER_READY");
// retry again
Map<String, Object> message = Map.of(
LABEL_PROJECT_ID, projectId,
RELOAD_TRY_COUNT, ++reloadCount
);
eventBus.publish(DELAY_MESSAGE, JsonObject.mapFrom(message));
}
}