我使用spring camel
作为独立应用程序,根据routes
返回的内容构建了许多psql database
:
private void addEndpoint(String urlName, String type, String host, String port, String username, String password) {
String endpointUrl = String.format("https://%s:%s?username=%s&password=%s", host, port, username, password);
from("direct:endpoint_" + urlName)
.throttle(1).timePeriodMillis(60000)
.to(endpointUrl);
}
和route
是在循环中创建的,这取决于从数据库返回的内容,如下所示:
@Override
public void configure() throws Exception {
final List<Url> url= dbUrlDAO.getUrl();
for (Url urlInfo : urls) {
addEndpoint(urlInfo.getName(), urlInfo.getType(), urlInfo.getIp(), urlInfo.getPort(),urlInfo.getUsername(), urlInfo.getPassword());
}
我想要实现的是能够在不重启应用程序的情况下添加route
(路由构建器正在由camel-context.xml初始化)。
无论如何强制运行应用程序来刷新camel context
?
答案 0 :(得分:1)
是的,您可以在运行时添加/删除路由。 CamelContest上有API可以做到这一点,以及你可以google查找/阅读书籍等的例子。