private List<CompletableFuture<SingleMessageSendingResult>> collectResults(Message message) throws EndpointAddressResolutionException { return endpoint.resolveAllFor(message).stream() .filter(uri -> message.hasNotBeenSentTo(uri.toString())) .map(uri -> requestFactory.buildRequest(message, uri)) .map(response -> handleResponse(response)) .collect(Collectors.toList()); }
@Override protected void sendMessage(Message message, final CompletableFuture<MessageSendingResult> resultFuture) { try { requestFactory.buildRequest(message, endpoint.resolveFor(message)) .send(result -> resultFuture.complete(MessageSendingResult.of(result))); } catch (EndpointAddressResolutionException exception) { resultFuture.complete(MessageSendingResult.failedResult(exception)); } }
@Override public MessageSender create(Subscription subscription) { EndpointAddress endpoint = subscription.getEndpoint(); EndpointAddressResolverMetadata endpointAddressResolverMetadata = subscription.getEndpointAddressResolverMetadata(); ResolvableEndpointAddress resolvableEndpoint = new ResolvableEndpointAddress(endpoint, endpointAddressResolver, endpointAddressResolverMetadata); HttpRequestFactory requestFactory = httpRequestFactory(subscription); if (subscription.getMode() == SubscriptionMode.BROADCAST) { return new JettyBroadCastMessageSender(requestFactory, resolvableEndpoint); } else { return new JettyMessageSender(requestFactory, resolvableEndpoint); } }
@Override public MessageSender create(Subscription subscription) { EndpointAddress endpoint = subscription.getEndpoint(); EndpointAddressResolverMetadata endpointAddressResolverMetadata = subscription.getEndpointAddressResolverMetadata(); ResolvableEndpointAddress resolvableEndpoint = new ResolvableEndpointAddress(endpoint, endpointAddressResolver, endpointAddressResolverMetadata); HttpRequestFactory requestFactory = httpRequestFactory(subscription); if (subscription.getMode() == SubscriptionMode.BROADCAST) { return new JettyBroadCastMessageSender(requestFactory, resolvableEndpoint); } else { return new JettyMessageSender(requestFactory, resolvableEndpoint); } }
@Before public void setUp() throws Exception { remoteServiceEndpoint = new RemoteServiceEndpoint(wireMockServer); address = new ResolvableEndpointAddress(ENDPOINT, new SimpleEndpointAddressResolver(), METADATA); HttpRequestFactory httpRequestFactory = new HttpRequestFactory(client, 1000, new DefaultHttpMetadataAppender(), Optional.empty()); messageSender = new JettyMessageSender(httpRequestFactory, address); }
private List<CompletableFuture<SingleMessageSendingResult>> collectResults(Message message) throws EndpointAddressResolutionException { return endpoint.resolveAllFor(message).stream() .filter(uri -> message.hasNotBeenSentTo(uri.toString())) .map(uri -> requestFactory.buildRequest(message, uri)) .map(response -> handleResponse(response)) .collect(Collectors.toList()); }
@Override protected void sendMessage(Message message, final CompletableFuture<MessageSendingResult> resultFuture) { try { requestFactory.buildRequest(message, endpoint.resolveFor(message)) .send(result -> resultFuture.complete(MessageSendingResult.of(result))); } catch (EndpointAddressResolutionException exception) { resultFuture.complete(MessageSendingResult.failedResult(exception)); } }