226.12. 도착 시간에 대한 테스트

Camel 2.7에서 사용 가능

Mock 엔드포인트는 메시지의 도착 시간을 Exchange의 속성으로 저장합니다.

Date time = exchange.getProperty(Exchange.RECEIVED_TIMESTAMP, Date.class);

이 정보를 사용하여 메시지가 바이크에 언제 도착했는지 알 수 있습니다. 그러나 이전 메시지와 다음 메시지 사이의 시간 간격을 알 수 있는 기반을 제공합니다. 이를 사용하여 Mock 끝점에서 gets DSL 사용하여 기대치를 설정할 수 있습니다.

예를 들어 다음 작업을 수행하기 전에 첫 번째 메시지가 0-2초 사이에 도착해야 합니다.

mock.message(0).arrives().noLaterThan(2).seconds().beforeNext();

2nd message (0 인덱스 기반)로 정의 할 수도 있습니다.

mock.message(1).arrives().noLaterThan(2).seconds().afterPrevious();

사이를 사용하여 하한 범위를 설정할 수도 있습니다. 예를 들어 1-4 초 사이여야한다고 가정합니다.

mock.message(1).arrives().between(1, 4).seconds().afterPrevious();

모든 메시지에 대한 기대치를 설정할 수도 있습니다. 예를 들어, 해당 메시지의 간격은 최대 1초여야 합니다.

mock.allMessages().arrives().noLaterThan(1).seconds().beforeNext();
작은 정보

시간 단위
위의 예에서 시간 단위로 를 사용하지만 Camel은 밀리초 도 제공합니다.