jfinal-zbusJFinal极简zbus插件
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来发送简单的消息。
评论