Kafka流:转发到主题后清除对象

w9apscun  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(396)

假设值是字符串或类对象。

context.forward(key, value, topic);

在上面这一行之后,我们能做以下的事情吗?如果记录在producer缓冲区中,它们是否都会以null的形式发布到topic?

value = null;
kmbjn2e3

kmbjn2e31#

很好,因为你在传递推荐信。如果 value 将是基元类型(此api不可能),值将被复制也可以。
可能导致问题的原因是,如果修改传递的对象(不可能使用 String 尽管如此)。假设它是pojo类型,然后你调用 set() 之后 context.forward --因为下游节点可能仍然使用传入的引用,所以调用 set() 将修改先前转发的pojo。这可能会导致问题。

相关问题