我想从定时器任务触发路由。当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);
}
}
答案 0 :(得分:1)
为了让@Produce注释工作,你的ReminderTask实例需要进行容器管理(例如camel-spring,blueprint)。
否则,您必须从定义“direct:simpleRoute”端点的CamelContext实例显式初始化ProducerTemplate字段。
如果不了解有关如何创建(和管理)CamelContext的更多信息,则很难进一步回答这个问题。