干掉 RPC(先吹嘘一波),让一切皆事件,支持分布式事件处理机制的 5.6 版本发布
此版本在5.5版本的基础上重构消息队列支持,使得在远程事件处理机制上更加广泛,您可以利用各类第三方消息队列实现分布式事件处理服务并可获得事件处理结果,亦可利用自定义协议亦或mqtt实现远端事件处理服务。
1、可根据应用场景限定远端事件处理是否为广播模式或不重复处理模式,此功能可完全由第三方消息队列限定。
2、获取事件处理结果在广播模式下仅以最先收到的处理结果为准。
3、可基于消息队列、MQTT或其它自定义用户协议实现分布式事件处理服务,如全服事件仅处理一次请优先考虑使用第三方消息队列。
以下是基于消息队列的范例代码:
import com.kaka.Startup; import com.kaka.notice.*; import java.util.Arrays; import java.util.concurrent.Executors; /** * @author zkpursuit */ public class Remote_Test extends Startup { public static void main(String[] args) throws Exception { Facade facade = FacadeFactory.getFacade(); Remote_Test test = new Remote_Test(); test.scan("kaka.test.unit"); facade.initThreadPool(Executors.newFixedThreadPool(2)); //以下通过ActiveMQ消息队列消费处理事件,并获得事件处理结果 facade.initRemoteMessagePostman(new ActiveMQ("event_exec_before", "event_exec_after")); //此行全局一次设定 //facade.initRemoteMessagePostman(new RocketMQ("event_exec_before", "event_exec_after")); Message message = new Message("20000", "让ResultCommand接收执行"); IResult<String> result4 = message.setResult("ResultMsg", new AsynLatchResult<>()); //AsynLatchResult可用AsynResult替代 facade.sendRemoteMessage(message); // try { // System.out.println("消息队列消费处理事件结果:" + ((AsynLatchResult) result4).get(5, TimeUnit.SECONDS)); // } catch (TimeoutException ex) { // System.out.println("获取结果超时"); // } System.out.println("消息队列消费处理事件结果:" + result4.get()); //一直等待结果 facade.sendRemoteMessage(new Message("40000", "", (IResult<Object> result) -> { String clasz = ((CallbackResult<Object>) result).eventHandlerClass; StringBuilder sb = new StringBuilder("消息队列消费处理事件结果异步回调:\t" + clasz + "\t"); Object resultObj = result.get(); if (resultObj instanceof Object[]) { Object[] ps = (Object[]) resultObj; sb.append(Arrays.toString(ps)); } else { sb.append(resultObj); } System.out.println(sb); })); } }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Dante Cloud 2.7.4.1 发布,新增 Opaque Token (不透明令牌) 支持
Dante Cloud 是一款企业级微服务架构和服务能力开发平台。首个全面拥抱 Spring Authorization Server 的版本,基于Spring Boot 2.7.4、Spring Cloud 2021.0.4、Spring Cloud Alibaba 2021.0.4.0、 Spring Authorization Server 0.3.1、Nacos 2.1.1 等最新版本开发的多租户系统,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能 平台定位 构建成熟的、完善的、全面的,基于 OAuth2.1 的、前后端分离的微服务架构解决方案。 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。 [1]、为什么更名为...
- 下一篇
NPM 组件包 zalopay-api 存在获取主机敏感信息危害
漏洞描述 当用户在安装/调用受影响的恶意包时,用户主机的主目录路径,主机名,有效用户的信息,当前服务器的 IP 地址会被泄露。 漏洞名称 NPM 组件包 zalopay-api 存在获取主机敏感信息危害 漏洞类型 内嵌恶意代码 发现时间 2022-10-14 漏洞影响广度 小 MPS编号 MPS-2022-59794 CVE编号 - CNVD编号 - 影响范围 zalopay-api@[9.10.10, 69.10.10] 修复方案 避免使用受影响的组件包。 参考链接 https://www.oscs1024.com/hd/MPS-2022-59794 情报订阅 OSCS(开源软件供应链安全社区)通过最快、最全的方式,发布开源项目最新的安全风险动态,包括开源组件安全漏洞、事件等信息。同时提供漏洞、投毒情报的免费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时获得一手情报信息推送: https://www.oscs1024.com/cm/?src=osc 具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/int...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境