Function 中使用事务需要显示开启吗

Function 中使用事务只需要设置 transactionCoordinatorEnabled=true 就行吗,还需要在 function process 方法里面定义 Transaction 对象显示开启吗?

Function当前是不支持transaction的,pulsar的transaction不是按照 scope包裹code的,它发送消息签收消息需要把transaction对象传递给对应 producer和consumer对象,因此在function的场景下是无法做到的。

当前只支持设置–processing-guarantees EFFECTIVELY_ONCE配合broker端的消息去重确保精确的一次性语义。Pulsar Functions overview | Apache Pulsar