是什么导致Node Kafka Streams出现此间歇性问题?

时间:2018-10-31 07:26:27

标签: apache-kafka kafka-consumer-api kafka-producer-api node-kafka-streams

我有一个卡夫卡生产者和消费者。

生产者这样做:

    const returnMessage = {
        prop1: 'some string',
        prop2: 'another string',
        prop3: nestedObject
    };
    console.log(JSON.stringify(returnMessage))
    await stream.writeToStream(JSON.stringify(returnMessage));

消费者这样做:

incomingStream.forEach(
                message => {
                        console.log(message.value)
                        let messageObject = message.value;
                        ...other stuff...
                }
            );

现在,在生产者端,返回消息始终记录为正确的字符串,一切都很好。但是,在消费者方面,首先,message.value是可以从中解析JSON的正确字符串,但是在随后的请求中,它以'[object Object]'出现。如果

我觉得这里缺少重要的东西...如果您有任何见解,请提供帮助。

1 个答案:

答案 0 :(得分:0)

好的,我知道了。 incomingStream.forEach发生在路由内部,而流在控制器级别被实例化。我通过将forEach移到控制器级别并使其在每条消息上发出已解析的消息,然后订阅了路由内的事件来解决了该问题。