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은 밀리초
와 분
도 제공합니다.