问题描述
我按照此处的手册操作:pulsar functions
我在 Java 中有这个函数声明:
package org.example.test;
import java.util.function.Function;
public class ExclamationFunction implements Function<String,String> {
@Override
public String apply(String input) {
return String.format("%s!",input);
}
}
我建造了罐子。将其复制到我的 pulsar stanalone docker 并运行以下命令:
./bin/pulsar-admin functions create --classname org.example.test.ExclamationFunction --jar java-function-1.0-SNAPSHOT.jar --inputs my-topic-1 --namespace default --name JavaFunction
然后:
./bin/pulsar-admin functions trigger --tenant public --namespace default --name JavaFunction --triggerValue "test"
现在我在 C# 中使用一些客户端来使用队列,当我阅读消息时,我看到“测试”而不是“测试!”。
解决方法
需要指定输出主题并消费输出主题:--output exclamation-topic