from("direct:myRoute1")
.bean(new DemoRoute(), "test(Demo,xxx)")
.end();
from("direct:myRoute2")
.bean(new DemoRoute(), "test(Demo,xxx)")
.end();
public interface Shape
@Component
class Circle implements Shape{
}
@Component
class Square implements Shape{}
我想在route test(Demo,xxx)
中注入形状实现
在骆驼交易中设置大量标头的利弊
这是绕过骆驼的解决方案:
由于您自己实例化 bean,而不是依赖 spring 来管理它,因此您可以通过构造函数传递 Shape 实现。
在DemoRoute类中添加一个Shape字段:
public class DemoRoute {
private final Shape shape;
public DemoRoute(Shape shape) {
this.shape = shape;
}
// test method that uses shape
}
在您的路由配置类中,配置如下:
@Component
public class CustomRoute extends RouteBuilder {
private final Square square;
private final Circle circle;
CustomRoute(Square square, Circle circle){
this.square = square;
this.circle = circle;
}
@Override
public void configure() throws Exception {
from("direct:myRoute1")
.bean(new DemoRoute(circle), "test(Demo,xxx)")
.end();
from("direct:myRoute2")
.bean(new DemoRoute(square), "test(Demo,xxx)")
.end();
}
}
我正在使用 Camel sql 组件,并希望在事务失败时使用 onConsumeFailed 更新具有异常堆栈跟踪的记录。 表结构: 如果不存在,则创建表 库存( itemnbr 整数 非空默认值 nextval('inventory_itemnbr_seq'::regclass), 位置整数, 位置类型字符变化 (2) , 颜色字符变化 (5) , 品牌字符变化 (5), soh 双精度, ca
截至2015年的Apache Camel 2.16.3,所有。beanRef Java DSL routebuilder方法已被弃用。 不幸的是,即使是在2017年,官方的Camel文件仍然表示要使用不推荐的。beanRef方法。而API说要使用。豆子(…)方法,所有这些方法都会实例化bean的新版本,或者期望传入现有版本。 我的问题是,我如何在Spring框架中使用这些方法在JavaDSL路由中
我有一个带有Camel处理器的骆驼DSL路由,该处理器确定要发送文件的位置。路径保存到Exchange中的标头中,以便将其传递回路由。我想在我的路由中使用此标头值(路径),但我收到以下错误: “不允许使用${}占位符的动态表达式。请使用文件名选项设置动态表达式。” 当我使用fileName选项时,这会创建一个文件作为路径中的最后一个目录,而我希望这是一个目录,但没有像directoryName这样
如何使用HTTP为“from”endpoint定义骆驼路由? 我的目标是定义一个路由,当有HTTP请求时,消息将在ActiveMQ队列上排队。 我尝试了以下路由定义: 从浏览器中,我访问 URL: 我已经验证了HTTP请求已经到达web服务“customerservice ”,因为我收到了来自web服务的XML响应。但是,没有消息在ActiveMQ队列中排队。 下面是处理ActiveMQ队列中消息
String postProcessor=“file: from(processFiles).threads(10).routeid(“someid”) .to(“bean:someBean”); 从(postProcessor).routeid(“PostProcress”).到(“bean:PostProcessorBean”); 解决方案已经到位。但目前需要更多的时间。因此,我们尝试在cam
我试图在Wildfly Swarm中设置一个Camel Rest服务,但我不确定类是如何实例化的,甚至不知道是如何实例化的。我下载了Wildfly Swarm示例,并查看了Camel CXF-JAXRS项目,这是有意义的,但它使用XML定义路由。我想使用Java DSL。我的类如下所示: 我已经尝试过使用和不使用文件。Swarm启动,但我无法浏览到rest服务endpoint。 如何调用?我应该有