DatumController::addDatum // /datum.do?method=addDatum PersistService::addAggrConfigInfo MergeDatumService::addMergeTask // 添加一个MergeDataTask,异步处理 MergeTaskProcessor::process PersistService::insertOrUpdate EventDispatcher.fireEvent(new ConfigDataChangeEvent // 派发一个ConfigDataChangeEvent事件 NotifyService::onEvent // 接收事件并处理 TaskManager::addTask(..., new NotifyTask // 由此,当数据发生变动,则最终创建了一个NoticyTask // NotifyTask同样异步处理 NotifyTaskProcessor::process foreach server in serverList // 包含自己 notifyToDump // 调用 /notify.do?method=notifyConfigInfo 从mysql更新变动的数据 DatumController::addDatum // /datum.do?method=addDatum PersistService::addAggrConfigInfo MergeDatumService::addMergeTask // 添加一个MergeDataTask,异步处理 MergeTaskProcessor::process PersistService::insertOrUpdate EventDispatcher.fireEvent(new ConfigDataChangeEvent // 派发一个ConfigDataChangeEvent事件 NotifyService::onEvent // 接收事件并处理 TaskManager::addTask(..., new NotifyTask // 由此,当数据发生变动,则最终创建了一个NoticyTask // NotifyTask同样异步处理 NotifyTaskProcessor::process foreach server in serverList // 包含自己 notifyToDump // 调用 /notify.do?method=notifyConfigInfo 从mysql更新变动的数据 |