spring boot 实现 Stream 钉钉事件订阅

news2025/1/16 21:44:27

1: 参考链接   

https://open.dingtalk.com/document/orgapp/develop-stream-mode-push-server

2:钉钉开放平台订阅配置

配置之后运行一下上面提供的链接 里面的main方法,验证通道

3:订阅启动方式

EventListenerThread eventListenerThread = application.getBean(EventListenerThread.class);
// 启动EventListenerThread
eventListenerThread.start();
@Override
public void run() {
    OpenDingTalkStreamClientBuilder
                                 .custom()
                                 .credential(new AuthClientCredential(appKey, appSecret))
                                 //注册事件监听
                      .registerAllEventListener(new GenericEventListener() {
                          public EventAckStatus onEvent(GenericOpenDingTalkEvent event) {
                             try {
                                 //事件唯一Id
                                 String eventId = event.getEventId();
                                 //事件类型
                                 String eventType = event.getEventType();
                                 //事件产生时间
                                  Long bornTime = event.getEventBornTime();
                                  //获取事件体
                                 JSONObject bizData = event.getData();

                                 log.info("当前时间"+ TimeUtils.date2Str(new Date()));
                                 // Create InputStream from byte array
                                 log.info("进入事件订阅:eventId "+eventId+"eventType"+eventType+"bornTime"+bornTime);
                                  //处理事件
                                  evetTypeEvent(eventId,eventType,bornTime,bizData);
                                  //消费成功
                                 return EventAckStatus.SUCCESS;
                              } catch (Exception e) {
                                 //消费失败
                                return EventAckStatus.LATER;
                             }
                         }
                      })
                                .build().start();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1967958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

玩转ComfyUI】基于函数计算一键部署AI生图平台 ComfyUI

登录阿里云 1.前往函数计算控制台。 在推荐您创建 AliyunFcDefaultRole默认角色对话框中,单击创建。 3.在角色快捷创建页面,单击同意授权。 4.在实验操作面板顶部,单击 图标打开新的标签页,然后在地址栏中输入如下地址并回车&…

会展信息服务预约小程序开展品牌管理

如舞台、漫展、商业展会等场景都需要会展服务,场地建设、方案提供、人员配备,尤其是高线城市,服务开展度比较高,客商双方为多次互需关系,服务方需要拓展品牌获得更多客源加以转化,而客户则需要找到靠谱且具…

LogonTracer图形化事件分析工具

LogonTracer这款工具是基于Python编写的,并使用Neo4j作为其数据库(Neo4j多用于图形数据库),是一款用于分析Windows安全事件登录日志的可视化工具。它会将登录相关事件中的主机名(或IP地址)和帐户名称关联起…

vscode中运行不同语言的文件出现报错?

vscode是一个不错的语言编辑软件,可以利用插件运行不同的语言,从而大大减少了软件的下载数量。 今天在学习的时候出现了一个令人匪夷所思的报错问题:早些时候一直在运行Python语言的文件,后来想对比一下c语言与Python的不同。于是…

阿里云、华为云、腾讯云、亚马逊云与谷歌云全景推荐

探索未来,选择领先云服务 —— 阿里云、华为云、腾讯云、亚马逊云与谷歌云全景推荐 在这个数字化飞速发展的时代,云计算已成为企业和个人日常运营不可或缺的一部分。无论是小型初创公司还是全球性大企业,选择合适的云服务可以大幅提升业务效…

Redis——集合 SET

目录 1. 添加元素 SADD 2. 查看元素 SMEMBERS 3. 判断元素是否存在该集合 SISMEMBER 4. 删除元素 SREM 集合 SET 是一种无序集合;因此其与列表有以下区别: (1)列表是有序的,集合是无序的; &#xff0…

基于SpringBoot宠物店寄养管理系统 毕业设计-附源码94084

摘 要 宠物店寄养管理系统是一个基于计算机技术的应用系统,旨在为宠物店提供一种便捷、高效的方式来管理宠物店寄养服务。本研究通过使用现代化的软件开发技术和数据库管理方法,设计和实现了一个全面的宠物店寄养管理系统。该系统具有以下主要功能:宠物资…

ONLYOFFICE文档:为企业和开发者带来强大的文档编辑功能

本文给大家介绍一个开源项目:ONLYOFFICE文档,它能够为文档编辑、多人协作提供强大支持。无论你是个人使用,还是企业、商业开发,都能找到适合你的版本。 关于 ONLYOFFICE 文档 ONLYOFFICE 文档是一套功能强大的文档编辑器&#x…

DockerCompose部署示例

目录 前言 1. 初识DockerCompose 2. 安装DockerCompose 3. 部署微服务项目 1)找一个目录,创建一个新的cloud-demo文件夹。 2)在cloud-demo文件夹创建一个docker-compose.yml文件,然后编写下面内容: 3&#xff09…

手把手构建Netty

1.Netty基础 Netty是一个提供了易于使用的API的客户端、服务器框架; 并发高-NIO(非阻塞IO) 传输快-零拷贝: 分析: 使用了NIO的零拷贝;java中内存是分为堆和栈,还有字符串常量池等等; 如果有一些数据需要从IO中读取&am…

28、美国国家冰雪中心(NSIDC)海冰密集度月数据处理:方法二

文章目录 1. 前言2. polarstereo-lonlat-convert-py 介绍2.1 安装方法3. 代码4. 其他1. 前言 在前文中已经详细介绍了如何使用Python对NSIDC的海冰密集度数据进行处理,将其从极地投影转换成常用的经纬度投影,但是方法较为麻烦,本文将基于另一个库,使用更加简便的方法对其进…

JVM—垃圾收集算法和HotSpot算法实现细节

1、分代回收策略 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 分代垃圾回收采用分治的思想,进行代的划分&#xff0…

π 随机数计算圆周率

如下图&#xff0c;圆与正方形面积比值等于圆内的点和总点数的比值 Disatance是点到原点的距离&#xff1a;SQRT(A2xA2B2xB2) 以下是在Excel中1.5万个点计算圆周率的结果。 InCircle公式&#xff1a;IF(C2<1,1,0) π计算公式&#xff1a;4*SUM(D2:D15000)/COUNT(D2:D15000)

leetcode 2181.合并零之间的结点

1.题目要求: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* mergeNodes(struct ListNode* head){struct ListNode* cur head;int count 0;//1.遍历结点&#xff0c;求出结点数while(cur){co…

前后端demo-WarehouseManagement

前端 数据库 其他 1.git下来&#xff0c;解决依赖问题&#xff0c;前端报错因为字体文件丢失&#xff0c;下载字体放到fonts文件夹字体.zip官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘 2.后端login验证&#xff0c;前端需要账号格式&#xff0c;linqq.com 3.自己…

【React】实现消息列表的删除

工作小记&#xff0c;第一次接触react项目 1.增加删除对话项的函数 hooks\use-conversation.ts // 删除对话项的函数const deleteConversation (id: string) > {setConversationList(prevList > prevList.filter(item > item.id ! id))}return {deleteConversation,.…

OZON户外运动装备热卖产品

OZON平台上的户外运动装备热卖产品涵盖了多个类别&#xff0c;这些产品不仅满足了俄罗斯消费者对户外运动的需求&#xff0c;还体现了市场趋势和消费者偏好的变化。以下是一些主要的热卖户外运动装备产品&#xff1a; OZON户外运动装备热卖产品地址&#xff1a;D。DDqbt。COm/…

第十九天培训笔记

上午 1 、构建 vue 发行版本 [rootserver eleme_web]# nohup npm run serve& // 运行 vue 项目 [rootserver eleme_web]# mkdir /eleme [rootserver eleme_web]# cp -r /root/eleme_web/dist/* /eleme/ // 将项目整体 移动到 /eleme 目录下 [rootserver eleme_web]# …

区间贪心2

问题引入 上一节我们学习了贪心的基本概念、基本思路以及证明方法&#xff0c;下面我们一起来学习区间类贪心类问题&#xff0c;这里我们学习的重点依然是贪心的策略和证明。 算法原理区间贪心&#xff1a; 是指在区间上做贪心。区间贪心一般都是按左端点或者右端点排序&…

最短路问题中的朴素版Dijkstra算法

最短路问题的朴素版Dijkstra算法 题目 最短路问题需要用到下面的算法&#xff08;n代表点的数量&#xff0c;m代表边的数量&#xff09; 朴素版和堆优化版的Dijkstra算法的区别是&#xff0c;朴素版比较适合稠密图&#xff0c;堆优化版适合稀疏图&#xff0c;稠密图代表它的边…