我最近开始使用lagom。试用微服务,我会收到一条kafka消息,经过一些处理后,将另一条消息发布到另一个kafka主题。根据我的理解,link应该在已构建的主题上发布一条消息,尤其是我所指的示例代码的这一部分。
final PubSubRef<Temperature> topic = pubSub.refFor(TopicId.of(Temperature.class, id));
topic.publish(temperature);
我无法将Temperature DTO构建为从其余客户端进行POST。因此,我在DTO上创建了与HelloEvent完全类似的DTO-在我的情况下是KafkaEvent。
我尝试使用here中的代码
但是,执行POST操作后,我没有看到创建的主题。我确实添加了打印语句,它们确实出现在控制台中。
System.out.println("Received id:" + id);
final PubSubRef<KafkaEvent> topic = pubSub.refFor(TopicId.of(KafkaEvent.class, id));
topic.publish(temperature);
System.out.println("Sent to:" + topic.toString());
我在kafka服务器日志或项目中没有看到任何错误。
我缺少任何步骤吗?还是我的理解在使用PubSubRegistry中是错误的?
如果需要更多详细信息,请告诉我。
预先感谢
Naveena
答案 0 :(得分:1)
如果要使用Kafka,则使用的方法不正确。您描述的帖子不使用Kafka。它只是向所有订户广播消息。如果要使用Kafka,则需要使用message broker support,它将创建您想要的东西。请阅读limitations部分,它将为您提供泥潭信息。