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