[英]refresh apache camel routes
我使用spring camel
作为独立应用程序,该应用程序根据从psql database
返回的内容构建许多routes
:
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
吗?
是的,您可以在运行时添加/删除路由。 CamelContest上有API可以做到这一点,并且您可以在Google上查找/阅读示例的示例等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.