java - 通过流式消息中的代码定义主题
问题描述
我有一MessageSender
堂课,它向kafka发送消息。
package com.pax.order.workflow.messages;
import org.json.simple.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.messaging.Source;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.messaging.MessageChannel;
import org.springframework.stereotype.Component;
import com.fasterxml.jackson.databind.ObjectMapper;
@Component
@EnableBinding(Source.class)
public class MessageSender {
@Autowired
private MessageChannel output;
@Autowired
private ObjectMapper objectMapper;
public void send(JSONObject m) {
try {
// avoid too much magic and transform ourselves
String jsonMessage = objectMapper.writeValueAsString(m);
// wrap into a proper message for the transport (Kafka/Rabbit) and send it
output.send(
MessageBuilder.withPayload(jsonMessage).build());
} catch (Exception e) {
throw new RuntimeException("Could not tranform and send message due to: "+ e.getMessage(), e);
}
}
}
它的目的地是在这样的属性文件中定义的。
spring.cloud.stream.bindings.output.destination=eventtopic
我如何覆盖它并在需要时向其他主题发送消息?
解决方案
推荐阅读
- firebase - 如何通过 URL 管理 Firebase
- javascript - 成功将记录添加到数据库(ajax)时,Javascript会自动发出警报
- python - 替换字符串的所有变体,无论逗号位置如何 Python
- python - 当我将列表链接发送到 requests.get() 时。内容 Python?
- r - 通过索引在 R 中写入矩阵
- python - 有没有办法用它们之间的两行的平均值替换异常?
- apache-flink - Flink 网络缓冲区使用率高,导致 Kafka 滞后
- html - 如何更改 ng 引导轮播箭头的颜色
- cassandra - Cassandra NoHostAvailableException:所有主机尝试查询失败
- c - 块和复合语句是同一个概念吗?