in adapter/runtime/src/main/java/org/apache/rocketmq/eventbridge/adapter/runtime/Runtime.java [67:92]
public void initAndStart() throws Exception {
logger.info("Start init runtime.");
circulatorContext.initCirculatorContext(runnerConfigObserver.getTargetRunnerConfig());
runnerConfigObserver.registerListener(circulatorContext);
runnerConfigObserver.registerListener(eventSubscriber);
EventBusListener eventBusListener = new EventBusListener(circulatorContext, eventSubscriber, errorHandler);
EventRuleTransfer eventRuleTransfer = new EventRuleTransfer(circulatorContext, offsetManager, errorHandler);
EventTargetTrigger eventTargetPusher = new EventTargetTrigger(circulatorContext, offsetManager, errorHandler);
RUNTIME_START_AND_SHUTDOWN.appendStartAndShutdown(eventBusListener);
RUNTIME_START_AND_SHUTDOWN.appendStartAndShutdown(eventRuleTransfer);
RUNTIME_START_AND_SHUTDOWN.appendStartAndShutdown(eventTargetPusher);
// start servers one by one.
RUNTIME_START_AND_SHUTDOWN.start();
java.lang.Runtime.getRuntime().addShutdownHook(new Thread(() -> {
logger.info("try to shutdown server");
try {
RUNTIME_START_AND_SHUTDOWN.shutdown();
} catch (Exception e) {
logger.error("err when shutdown runtime ", e);
}
}));
startRuntimer();
}