骆驼IP地址缓存

时间:2020-05-29 07:02:28

标签: java apache-camel

我在骆驼路线中有一个URL,该URL是通过JVM自定义属性设置的,并且保持不变。

    **<camel:to id="to-server" uri="{{serverURL}}" />**

serverURL属性设置为站点负载平衡器地址http://xyz:8080/Server/transactionServlet

在网络层中,此URL可以指向服务器1或服务器2,无论我们使用哪个服务器,该URL都应起作用。

从服务器1切换到服务器2后,我们的WAR仍尝试发布到服务器1并失败。 似乎我们的WAR在启动时会缓存URL地址(当时站点负载平衡器指向的URL),并且无法识别我们已切换。 唯一的解决方法是重新启动应用程序WAR,此时它将存储服务器2地址(站点负载均衡器现在指向的地址),并开始将事务发布到服务器2。

有什么方法可以使骆驼不缓存IP地址并发布到服务器指向的任何服务器上? 我正在使用Apache Camel 2.14

1 个答案:

答案 0 :(得分:0)

看看networkaddress.cache.ttl

在java.security中指定,以指示从名称服务进行成功的名称查找的缓存策略。该值指定为整数,以指示缓存成功的查找所用的秒数。 值-1表示“永远缓存”。默认行为是在安装安全管理器时永久缓存,并在未安装安全管理器时缓存实现特定时间段。