Как запустить верблюжий маршрут, используя весенний планировщик вместо верблюжьего таймера - PullRequest
0 голосов
/ 11 октября 2019

Как запустить верблюжий маршрут, используя пружинный планировщик вместо компонента таймера?

Я пытался использовать верблюжий компонент таймера для запуска маршрута, но вместо таймера есть какой-либо способ запустить маршрут с помощью пружинного планировщика.

1) Spring Основной класс: -

@SpringBootApplication
public class SampleSchedulerApplication {
    public static void main(String[] args) {
        SpringApplication.run(SampleSchedulerApplication.class, args);
    }
}

2) Класс маршрутизатора: -

В следующих примерах, где я пыталсяс компонентом таймера.

//Directing to someService
from("timer://scheduler?period=10s")//What component should i use by default. 
.to("direct:someservice");

//Fetching datas from the rest api.
from("direct:someservice")                
.setHeader(Exchange.HTTP_METHOD).constant(HttpMethod.GET)              
.to("undertow:http://localhost:8090/api/employee/getemployees").
.log("Response : ${body}");

without timer, i can't able to trigger the route.

Ответы [ 2 ]

0 голосов
/ 29 октября 2019

Я вызвал верблюжий маршрут, используя пружинный планировщик вместо таймера, используя ProducerTemplate: https://camel.apache.org/manual/latest/producertemplate.html.

1) Spring Scheduler: -

@Configuration
@EnableScheduling
public class SchedulerConfiguration {

    @Autowired
    private IntegrationService integrationService;

     @Scheduled(fixedDelay = 90000, initialDelay = 5000)
    public void integrationConfig() throws IOException {
        integrationService.getServiceAuthentication();

    }

2) Служба интеграции;

@Component
public class IntegrationService {
    @Autowired
    private ProducerTemplate producerTemplate;

    public void getServiceAuthentication() {
 producerTemplate.sendBody("direct:someservice","username=123&password=123");
    }
}

3) Класс маршрутизатора;

 from("direct:someservice")                
.setHeader(Exchange.HTTP_METHOD).constant(HttpMethod.GET)              
.to("undertow:http://localhost:8090/api/employee/getemployees").
.log("Response : ${body}");
0 голосов
/ 11 октября 2019

Используйте компонент планировщика и настройте его для использования пружины https://camel.apache.org/components/latest/scheduler-component.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...