JFinal极简zbus插件,
该插件具有以下特点:
1)简化设计,去掉了异步发送,仅支持同步发送。
2)信息发送/接收支持泛型,类型安全。
3)可直接发送/接收JFinal中特有的Model对象和Record对象。
导入dist目录下的jfinal-zbus-3.1.0.jar
同时还需要导入zbus,znet,fastjson,jfinal等jar包
配置代码如下:
//初始化zbus插件 ZbusPlugin zp = new ZbusPlugin(); //创建一个MQ zp.createMq("MyMQ"); //创建一个Topic(zbus中topic必须属于某个队列,所以第一个参数是mq名,第二个参数是topic名) zp.createTopic("Topic", "Check"); //注册MQ的消息到达(收到消息)回调泛型(Dict类型,Dict继承子Model)接口。 zp.registerMqMessageCallback("MyMQ", new TMessageCallback<Dict>(){ @Override public void onMessage(Dict msg) { LOG.info("receive from MyMQ: key=" + msg.getStr("key") + ",value=" + msg.getStr("value")); } }); //注册Topic的消息到达(收到消息)回调泛型(String类型)接口。 zp.registerTopicMessageCallback("Topic", "Check", new TMessageCallback<String>(){ @Override public void onMessage(String msg) { LOG.info("receive from Topic.Check: msg=" + msg); } }); //添加插件 me.add(zp);
//初始化一个MQ泛型(Dict类型,Dict继承子Model)发送器,构造函数参数为MQ名 Sender<Dict> mqSender = new MqSender<Dict>("MyMQ"); Dict dict = new Dict(); dict.setId(1L); dict.set("key", "key"+1); dict.set("value", "value"+1); //发送对象到MQ mqSender.send(dict); //初始化一个Topic泛型(String类型)发送器,构造函数参数为,MQ名,Topic名 Sender<String> topicSender = new TopicSender<String>("Topic", "Check"); //发送对象到topic topicSender.send("这时一个订阅消息");
使用时,可在需要发送的类里定义一个特定类型的发送器。建议发送器的类型不要太复杂。只通过zbus来发送简单的消息。
maven: <!-- zubs --> <dependency> <groupId>org.zbus</groupId> <artifactId>zbus</artifactId> <version>6.2.6</version> </dependency> 生产者: @Component public class ZbusProducerHolder { pr
小巧而极速的MQ, RPC实现, 支持HTTP/TCP代理,开放易扩展,多语言支撑微服务,系统总线架构 zbus核心是一个独立实现的小巧极速的消息队列(MQ),支持持久化与内存队列, 支持单播、广播、组播等多种消息通信模式;在MQ之上 zbus完备地支持了RPC服务,RPC支持独立伺服,基于总线两种模式;同时zbus支持代理服务,基于MQ的HttpProxy实现了类Nginx的HTTP代理服务(支
JFinal 是基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。
hyperf/database 功能十分强大,但也不可否认效率上确实些许不足。这里提供一个极简的 hyperf/db 组件,支持 PDO 和 Swoole Mysql。 安装 composer require hyperf/db 发布组件配置 该组件的配置文件位于 config/autoload/db.php,如果文件不存在,可通过下面的命令来将配置文件发布到骨架去: php bin/hyper
Kotlin是JetBrains团队开发的一门现代的、注重工程实用性的静态类型编程语,JetBrains团队以开发了世界上最好用的IDE而著称。
1. 概述 2. 部署单机 TC Server 3. 部署集群 TC Server 4. 接入 Java 应用 1. 概述 Seata 是阿里开源的一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。 1.1 四种事务模式 Seata 目标打造一站式的分布事务的解决方案,最终会提供四种事务模式: AT 模式:参见《Seata AT 模式》文档 TCC 模式:参见《Seata
为了更好理解Hooks原理,这一节我们遵循React的运行流程,实现一个不到100行代码的极简useState Hook。建议对照着代码来看本节内容。 工作原理 对于useState Hook,考虑如下例子: function App() { const [num, updateNum] = useState(0); return <p onClick={() => updateNum(