我有一个带有KafkaListener方法的Spring组件:
@Slf4j
@Component
public class ResponseHandler {
private final ResponseMessageService responseMessageService;
public ResponseHandler(ResponseMessageService responseMessageService) {
this.responseMessageService= responseMessageService;
}
@KafkaListener(topics = "response-topic", groupId = "response-group")
public void listen(ResponseMessage responseMessage) {
responseMessageService.processResponse(responseMessage);
}
}
现在,我想测试这个方法。我想确保此方法正确接收消息。我尝试创建一个Unit test
:
@RunWith(SpringRunner.class)
@SpringBootTest
public class ResponseHandlerTest {
@ClassRule
public static EmbeddedKafkaRule broker = new EmbeddedKafkaRule(1, false, 5, "response-topic");
@BeforeClass
public static void setup() {
System.setProperty("spring.kafka.bootstrap-servers", broker.getEmbeddedKafka().getBrokersAsString());
}
@Test
public void listen() {
}
}
但我不知道接下来会发生什么。如何测试此方法?
集成测试: 当我偶尔运行这个测试时,一切都很好,但是当我和其他测试一起运行它时,没有使用模拟的ServerThroughRabbitMQ,所以一些spring缓存强制使用旧的rabbit侦听器。 我试图调试它,我可以看到,正确的bean被autowired到测试中,但由于某些原因旧监听器使用(旧bean字段instanceID=1新mocked bean instanceID=3),测试失败(不确
我对@Async和Rest模板调用有问题;下面是我的主要应用程序类,带有一个任务执行器Bean和EnableAsync注释 这是我在Rest控制器中调用的带有异步注释的my测试服务: 此服务在rest模板上返回一个nullPointer;这是stacktrace 但是如果我删除@enableAsync和@Async,那么简单的Rest模板可以很好地工作。 当我传递HttpServlet请求时,Ec
我有Kafka Streams java应用程序启动并运行。我试图使用KSQL创建简单的查询,并使用Kafka流来实现复杂的解决方案。我希望将KSQL和Kafka流作为Java应用程序运行。 我打算通过https://github.com/confluentinc/ksql/blob/master/ksqldb-examples/src/main/java/io/confluent/ksql/em
我使用@KafkaListener,我需要一个动态的主题名,所以我使用SpEL'\uu listener'来实现这一点 它工作得非常好。 主要问题是当我想添加另一个注释时,它会触发某些方面的编程 @MyCustomAnnotationToRecordPerformance@KafkaListener(主题 = "#{__ listener.my道具}")公共无效监听器Kafka(@Payload
我想在intellij Idea中以调试模式启动spring-boot maven应用程序,但当我创建断点时,应用程序不会挂起,而是会继续。我读了很多题目,但还是不明白怎么做。你能帮我决定最好的行动方案吗。 但是当请求LocalHost:5005/MyPage时,我会出现错误101(NET::ERR_CONNECTION_RESET)。似乎有些maven参数没有指定。 下面是我在pom.xml中的
我使用SpringKafka实现了一个消费者,它可以读取某个主题的消息。所有这些消息都由它们处理,并通过RESTAPI导出到另一个系统中。为此,代码使用Spring Webflux项目中的WebClient,从而生成反应式代码: 现在我想知道这种设置是否合理,或者这是否会导致很多问题,因为来自spring kafka的KafkaListener逻辑本身并不是被动的。我想知道是否有必要用KafkaR