【发布时间】:2018-01-27 07:58:48
【问题描述】:
我有一个不时生成字符串的方法。我想将方法注册为 uri 并生成一个交换方法,该方法将用作路由的输入。
方法被不同的类调用
SampleClass sc = new SampleClass();
sc.sampleMethod("Hello");
例如:
public class SampleClass{
@Produce(uri = "direct:consumerMethod")
ProducerTemplate producer;
public sampleMethod(Object obj){
producer.sendBody(object);
}
}
路由定义如下:
@Override
public void configure() {
from("direct:consumerMethod").process(new GenerateD());
}
但是当我使用 sampleMethod 生成时,路由不会调用 GenerateD 类。这不可行还是我做错了什么?
【问题讨论】:
-
我相信
.process(...)的参数需要是Processor或继承/实现它 - 在你的处理器内部,你可以调用你的方法。我离我的示例代码还很远,但这可能会让你朝着正确的方向前进。 -
你得到什么错误?
-
我在 producer.sendBody() 周围进行了尝试,发现 producer 为空。那么这是否意味着direct:consumerMethod没有启动呢?
标签: java apache-camel