我试图使用Apache Camel和Spring实现负载均衡器。
为此,必须在 Spring 中配置目标服务器.xml如下所示:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="localhost:8000"/>
<loadBalance>
<roundRobin/>
<to uri="localhost:8080"/>
<to uri="localhost:8081"/>
<to uri="localhost:8082"/>
</loadBalance>
</route>
</camelContext>
现在,有没有办法从属性文件中读取所有目标服务器?只是为了可以在不编辑弹簧的情况下更改它们.xml...
正如您的描述,我认为收件人列表(http://camel.apache.org/recipient-list.html)可以解决您的问题。
您可以决定在java代码中发送哪个uri,例如从属性文件中读取服务器之类的操作可以轻松完成。
有多种选择可用于执行此操作:
- http://camel.apache.org/recipient-list.html
- http://camel.apache.org/dynamic-router.html
- 从 Camel 2.16 开始,您还可以使用"动态到"(http://camel.apache.org/message-endpoint.html)