1
2
3
4
5
6
7
8
9
10
11 package org.mule.service.processor;
12
13 import org.mule.api.source.MessageSource;
14 import org.mule.routing.requestreply.AbstractAsyncRequestReplyRequester;
15 import org.mule.service.ServiceAsyncReplyCompositeMessageSource;
16
17 public class ServiceAsyncRequestReplyRequestor extends AbstractAsyncRequestReplyRequester
18 {
19
20 protected void postLatchAwait(String asyncReplyCorrelationId)
21 {
22 if (replyMessageSource instanceof ServiceAsyncReplyCompositeMessageSource)
23 {
24 ((ServiceAsyncReplyCompositeMessageSource) replyMessageSource).expireAggregation(asyncReplyCorrelationId);
25 }
26 }
27
28 @Override
29 protected void verifyReplyMessageSource(MessageSource messageSource)
30 {
31 if (!(messageSource instanceof ServiceAsyncReplyCompositeMessageSource))
32 {
33 throw new IllegalArgumentException(
34 "ServiceAsyncReplyCompositeMessageSource async reply MessageSource must be used with ServiceAsyncRequestReplyRequestor");
35 }
36 }
37 }