227.11. 유지할 메시지 수 제한
Camel 2.10에서 사용 가능
Mock 끝점은 기본적으로 수신한 모든 Exchange의 복사본을 유지합니다. 따라서 많은 메시지로 테스트하면 메모리를 사용합니다.
Camel 2.10부터는 첫 번째 및/또는 마지막 교환만 유지하기 위해 지정할 수 있는 두 가지 옵션이 계속First 및 retainLast 를 도입했습니다.
예를 들어 아래 코드에서는 처음 5번의 사본과 마지막 5개의 교환만 보관하려고 합니다.
MockEndpoint mock = getMockEndpoint("mock:data");
mock.setRetainFirst(5);
mock.setRetainLast(5);
mock.expectedMessageCount(2000);
mock.assertIsSatisfied();
이를 사용하는 데는 몇 가지 제한 사항이 있습니다. MockEndpoint 의 getExchanges() 및 getReceivedExchanges() 메서드는 Exchange의 보존된 사본만 반환합니다. 따라서 위의 예에서 목록에는 10 개의 교환, 첫 번째 5 개 및 마지막 5 개가 포함됩니다.
retainFirst 및 retainLast 옵션에는 사용할 수 있는 예상 방법에 대한 제한도 있습니다. 예를 들어 메시지 본문, 헤더 등에서 작동하는 예상XXX 메서드는 보존된 메시지에서만 작동합니다. 위의 예제에서는 10개의 보존 메시지에 대한 기대치만 테스트할 수 있습니다.