java - 消费者消费者 [direct-vm] 在骆驼中已经存在异常
问题描述
我正在使用camel 2.25,并且遇到了有线问题,我有以下方法
public Exchange invoke(String url) throws Exception {
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
public void configure() {
from(FROM_ROUTE).to(url);
}
});
context.start();
try {
ProducerTemplate producer = context.createProducerTemplate();
return producer.request(FROM_ROUTE, exchange -> {
exchange.getIn().setHeader(Exchange.HTTP_METHOD, org.apache.camel.component.http4.HttpMethods.GET);
exchange.setPattern(ExchangePattern.InOut);
});
}
finally {
context.stop();
}
}
我在初始化期间在@PostConstruct 期间从spring bean 调用这个invoke() 方法,它工作正常,我可以得到响应。
一旦我的应用程序完全部署,我将再次通过 api 调用这个 invoke() 方法,它会抛出一个异常说
CamelContext:config.service.v1.0.0 中已经存在消费者 Consumer[direct-vm]。不支持多个消费者
但是,然后我下次调用相同的api,它在后续调用中没有任何异常。我很困惑为什么它第二次单独抛出这个异常以及如何解决这个问题?
解决方案
推荐阅读
- shell - 验证后使用 curl 下载文件
- api - Twitter API 按关键字获取列表标签
- javascript - Firebase:如何获取数据
- javascript - 让用户修改 Chrome 扩展的 manifest.json 内容的编程方法
- mongodb - Mongo Json Schema Validator AnyOf 不工作
- kubernetes - 如何为具有 LoadBalancer 的 Spring SCDF Stream 应用静态 IP(在 Kubernetes 中)
- tomcat - 如何使用Tomcat允许多个IP地址?
- pandas - 用此列中已存在的另一个值填充 nan 值
- python-3.x - python - 如何在Python-Tkinter中连续输入字母的搜索框带来数据?
- jakarta-mail - 有没有办法让 Google Cloud Run 传递我的 Content-Type?