java如何从计时器触发路由
我想从计时器任务中触发一个路由。当run方法调用时。我将ProducerTemplate
与注释@Produce
一起使用。但它抛出空点异常,因为producerTemplate
为空
public class ReminderTask extends TimerTask {
@Produce
private ProducerTemplate producerTemplate;
@Override
public void run() {
final Exchange defaultExchange = new DefaultExchange(new DefaultCamelContext());
producerTemplate.send("direct:simpleRoute", defaultExchange);
}
}
# 1 楼答案
为了让@product注释正常工作,您的提醒任务实例需要由容器管理(例如camel spring、blueprint)
否则,必须从定义“direct:simpleRoute”端点的CamelContext实例显式初始化ProducerTemplate字段
如果不进一步了解上下文是如何创建(和管理)的,就很难进一步回答这个问题