Merge branch '2.2.x'

This commit is contained in:
Marcin Grzejszczak
2021-02-05 13:12:40 +01:00
8 changed files with 113 additions and 116 deletions

View File

@@ -16,25 +16,20 @@
package org.springframework.cloud.contract.stubrunner.messaging.kafka;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.common.header.Header;
import org.apache.kafka.common.header.Headers;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.cloud.contract.spec.Contract;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.listener.MessageListener;
import org.springframework.kafka.support.Acknowledgment;
import org.springframework.kafka.support.converter.MessagingMessageConverter;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.support.MessageBuilder;
/**
* @author Marcin Grzejszczak
@@ -43,6 +38,8 @@ class StubRunnerKafkaRouter implements MessageListener<Object, Object> {
private static final Log log = LogFactory.getLog(StubRunnerKafkaRouter.class);
private final MessagingMessageConverter messageConverter = new MessagingMessageConverter();
private final StubRunnerKafkaMessageSelector selector;
private final BeanFactory beanFactory;
@@ -69,7 +66,7 @@ class StubRunnerKafkaRouter implements MessageListener<Object, Object> {
if (log.isDebugEnabled()) {
log.debug("Received message [" + data + "]");
}
Message<?> message = MessageBuilder.createMessage(data.value(), headers(data.headers()));
Message<?> message = messageConverter.toMessage(data, null, null, null);
Contract dsl = this.selector.matchingContract(message);
if (dsl != null && dsl.getOutputMessage() != null && dsl.getOutputMessage().getSentTo() != null) {
String destination = dsl.getOutputMessage().getSentTo().getClientValue();
@@ -89,14 +86,6 @@ class StubRunnerKafkaRouter implements MessageListener<Object, Object> {
}
}
private MessageHeaders headers(Headers headers) {
Map<String, Object> map = new HashMap<>();
for (Header header : headers) {
map.put(header.key(), header.value());
}
return new MessageHeaders(map);
}
@Override
public void onMessage(ConsumerRecord<Object, Object> data, Acknowledgment acknowledgment) {
onMessage(data);