首页 > 解决方案 > 使用消息通道进行 Pub/Sub Spring 测试

问题描述

我有一个 spring 应用程序,它从 pub/sub 订阅中提取消息并记录它们。我已经尝试寻找测试方法,例如测试消息队列容量并确保 inboundChannelAdapter 将消息放在正确的通道上,但我并不是很成功。

有谁知道一些测试弹簧发布/订阅消息通道的方法?

@Bean
public MessageChannel inputMessageQueueChannel() {
    return new QueueChannel(50);
}

@Bean
public PubSubInboundChannelAdapter inboundChannelAdapter(
        @Qualifier("inputMessageQueueChannel") MessageChannel messageChannel,
        PubSubTemplate pubSubTemplate) {
    PubSubInboundChannelAdapter adapter =
            new PubSubInboundChannelAdapter(pubSubTemplate,'sub-one');
    adapter.setOutputChannel(messageChannel);
    adapter.setAckMode(AckMode.MANUAL);
    adapter.setPayloadType(String.class);
    return adapter;
}


@ServiceActivator(inputChannel = "inputMessageQueueChannel")
public void messageReceiver(
        String payload,
        @Header(GcpPubSubHeaders.ORIGINAL_MESSAGE) BasicAcknowledgeablePubsubMessage message) {
    log.info("Payload: " + payload);
    message.ack();
}

标签: javatestingjunitgoogle-cloud-pubsub

解决方案


推荐阅读