Kafka / Spring集成的故障转移集成测试

时间:2017-10-17 15:41:38

标签: java spring apache-kafka spring-integration

我正在寻找 两个 方案,在与Kafka的Spring Integration之上工作:

  1. 快乐路径 - 频道正确流动并将其有效负载成功传递到出站频道
  2. 备用案例 - 渠道流量正确,但出站渠道向下
  3. 我的计划是在KafkaTemplate上使用 AOP ,当任何发送方法调用它时会抛出异常。然后,这将返回错误频道

    我想知道其他( 更简单 & unobtrusive!)测试技术可用于处理不可用的出站通道吗?

    ApplicationContext(即XML)解决方案的

    奖励积分,而非基于注释!

1 个答案:

答案 0 :(得分:0)

  1. 如果sync为真,您只会在调用线程上获得异常;否则异步失败可以发送到错误通道(自2.3 / 3.0起)。

  2. Adding Behavior to Endpoints;特别是ExpressionEvaluatingRequestHandlerAdvice

  3. 修改

    您还可以在通道适配器的上游添加中间流网关。

    <int:gateway service-interface=OneWay error-channel="ec"
        default-request-channel="toKafka" />
    
    public interface OneWay {
    
        void sendIt(Message<?> message);
    
    }
    

    ec将获得ErrorMessageMessagingException有效负载,其中包含failedMessagecause个属性。