2015-12-04 2 views
1

Я хочу вызвать маршрут из задачи таймера. При вызове метода запуска. У меня есть ProducerTemplate с аннотацией @Produce. Но он выбрасывает исключение из нулевой точки из-за producerTemplate равно null.Как запустить маршрут с таймера

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

Для того, чтобы аннотация @Produce работать экземпляр ReminderTask должен быть контейнер удался (например, верблюд-весна, план).

В противном случае вы должны явно инициализировать поле ProducerTemplate из экземпляра CamelContext, который определяет конечную точку «direct: simpleRoute».

Трудно ответить на этот вопрос, не зная больше о том, как создается ваш CamelContext (и управляется).

Смежные вопросы