当前位置: 首页 > 知识库问答 >
问题:

如何与Spring Cloud Streams供应商发送消息/数据?

晋承运
2023-03-14

我试图在Kafka上发送消息,当在特定表记录中插入时。我认为这部分应用程序将被视为供应商。

我有以下代码。

@Bean
public Supplier<RecordAlteredEvent> affectedRecordEventEmitter() {
    return (/*how do I pass the data?*/) -> {
            
        log.info("SENDING_MESSAGE TO RECORD_EVENT_TOPIC");
        return new RecordAlteredEvent();
    };
}

我实际上想发送数据。所以,我正在寻找更像以下内容的东西:

@Bean
public Function<RecordAlteredEvent, RecordAlteredEvent> alteredRecordEventEmitter() {
    return (RecordAlteredEvent recordAlteredEvent) -> {
        log.info(SENDING_MESSAGE, VDP_USERS_EVENT_TOPIC, recordAlteredEvent.toString());
        return recordAlteredEvent;
    };
    }

这可能吗?我如何配置它?例如,如果

  1. 我声明为“供应商”,那么如何向其传递数据
  2. 如果我声明一个“函数”,那么输入似乎将从主题接收并转发。我没有收到来自主题的数据。我正在从RESTAPI数据库接收数据

我不确定以下几点是否能有所帮助:但只要做一次基本的尝试,我就不会成功。因此,举个例子会很有帮助。

@Autowired
private StreamBridge streamBridge;

// Can following work somehow in-side a function that is, for example, in spring-boot-service  
streamBridge.send("myDestination", body);

供参考:

  • https://cloud.spring.io/spring-cloud-stream/reference/html/spring-cloud-stream.html#spring_cloud_function

共有1个答案

丌官积厚
2023-03-14

跟踪奏效了

声明字段

  private final StreamBridge streamBridge;

声明的函数

  public void delegateRecordsEventSupplier(@NotNull final RecordsEvent alteredRecordsEvent) {
    streamBridge.send("affectedRecordsEvent-out-0", alteredRecordsEvent);
  }

调用这些函数时,会将消息放在主题上

 类似资料:
  • 我想做以下事情: 感谢任何回应。 我的单元测试如下: 演示方法用于组装tlv(我们的自定义协议)对象。 关键日志如下: 创建的TcpClient工作不好,我不知道如何更正,有人能告诉我一种正确的方法吗。

  • 接口说明 轻推轻应用/订阅号支持发送文本、图片、文本卡片、图文、key-value、文件、待办等消息类型。本接口针对各种消息类型和发送的对象(单发、群发以及给部分人发送)进行了定义。 注:openid是用户关注某个轻应用/订阅号后生成的唯一id,单发和给部分人发送消息必须携带此参数,可以通过如下接口来获取: 根据qt_code获取用户基本信息 获取使用者列表 通过userId获取openid 消息

  • 主动发送消息 use EasyWeChat\Kernel\Messages\TextCard; // 获取 Messenger 实例 $messenger = $app->messenger; // 准备消息 $message = new TextCard([ 'title' => '你的请假单审批通过', 'description' => '单号:1928373, ...

  • 向已经创建连接凭据的设备发送消息数据。 请求方式: |4|2|3|message|\r 参数 message 发送的消息内容 返回值: "|4|2|3|1|\r" 发送成功 "|4|2|3|2|\r" 发送失败 Arduino样例: softSerial.print("|4|2|3|DFRobot|\r");

  • 我已在中创建了我的应用程序并配置为云消息传递。当我从控制台发送通知时,设备会收到通知,但如果我尝试通过Rest API(使用PostMan)发送。然后通知不会到达设备,但响应显示为成功。 这是我的邮差请求 URI-https://fcm.googleapis.com/fcm/send 标题:内容类型:应用程序/json授权:密钥=MY_SERVER_KEY 正文:{“数据”:{“标题”:“火力基地

  • 问题内容: 如何从Java发送SMTP消息? 问题答案: 这是Gmail smtp的示例: 现在,仅当您希望将项目依赖关系降至最低时,才可以这样做,否则我可以热烈推荐使用apache中的类 http://commons.apache.org/email/ 问候 托雷·雅各布森