@PostConstruct public void subscribeToReplyChannel() { // TODO subscribe to events that trigger the creation of a saga messageConsumer.subscribe(saga.getClass().getName() + "-consumer", singleton(channelMapping.transform(makeSagaReplyChannel())), this::handleMessage); }
@PostConstruct public void subscribeToReplyChannel() { messageConsumer.subscribe(saga.getSagaType() + "-consumer", singleton(channelMapping.transform(makeSagaReplyChannel())), this::handleMessage); }
@Override public String send(String channel, String resource, Command command, String replyTo, Map<String, String> headers) { Message message = makeMessage(channel, resource, command, replyTo, headers); messageProducer.send(channelMapping.transform(channel), message); return message.getId(); }
@PostConstruct public void subscribe() { messageConsumer.subscribe(getClass().getName(), singleton(channelMapping.transform(replyChannel)), this::handler); }
public CompletableFuture<Object> sendReply(DispatchedEvent<Event> de) { SagaReplyRequestedEvent event = (SagaReplyRequestedEvent) de.getEvent(); Message reply = CommandHandlerReplyBuilder.withSuccess(); messageProducer.send(channelMapping.transform(event.getCorrelationHeaders().get(CommandMessageHeaders.inReply(CommandMessageHeaders.REPLY_TO))), MessageBuilder .withMessage(reply) .withExtraHeaders("", event.getCorrelationHeaders()) .build()); return CompletableFuture.completedFuture(null); } }
private void publish(Map<String, String> correlationHeaders, List<Message> replies, Optional<String> defaultReplyChannel) { for (Message reply : replies) messageProducer.send(channelMapping.transform(destination(defaultReplyChannel)), MessageBuilder .withMessage(reply) .withExtraHeaders("", correlationHeaders) .build()); }
@Before public void setUp() { sm = new SagaManagerImpl<>(testSaga, sagaInstanceRepository, commandProducer, messageConsumer, channelMapping, sagaLockManager, sagaCommandProducer); initialSagaData = new TestSagaData("initialSagaData"); sagaDataUpdatedByStartingHandler = new TestSagaData("sagaDataUpdatedByStartingHandler"); sagaDataUpdatedByReplyHandler = new TestSagaData("sagaDataUpdatedByStartingHandlersagaDataUpdatedByReplyHandler"); when(testSaga.getSagaType()).thenReturn(sagaType); when(testSaga.getSagaDefinition()).thenReturn(sagaDefinition); when(channelMapping.transform(anyString())).thenAnswer(invocation -> invocation.getArgument(0)); }