我会澄清我的问题。
我的任务是集成两个系统:一个提供 html 的前端和一个为前端提供数据的后端。后端有一个非常大的 REST api,所以我必须使用多个路由。我计划使用单个骆驼上下文并将所有路线包装到其中。
<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
<from uri="direct:data"/>
<to uri="ahc:http://localhost/data"/>
<!--And so on. More than 70 routes-->
</camelContext>
然后,我计划按照隐藏中间件文章中的建议在服务方法上使用 @Produce 注释来调用路由
public interface Service {
String data();
}
public class MyBean {
@Produce(uri = "direct:data")
protected Service producer;
public void doSomething() {
// lets send a message
String response = producer.data();
}
}
据我了解从此处和此处获取的信息,我最终将在我的应用程序中添加 70 个线程(每条路线一个)。我担心它会导致严重的性能损失,而后端 api 会增长,线程数会随之增长。这是对的吗?如果这是真的,我该如何避免这种情况?据我了解,在这种情况下我不能使用 ExecutorService 线程池。
提前感谢您的任何回答。