java - 在 Chronicle Queue 中使用方法读取器和写入器
问题描述
大家好,我在使用 Chronicle Queue for Journalling 的个人项目中面临困难。我有两种类型的消息要从队列本身读取和写入。我的问题是我正在使用使用方法读取器和写入器的策略来执行此操作,但是我需要为方法使用两个不同的名称才能使用 Chronicle Queue 进行操作。当我尝试使用方法读取器读取具有相同名称的方法的接口的两个实现时,只有第一个是从 Chronicle Abstraction 中查找的。我想要一种方法来只维护一个方法名称来读取和写入来自 Chronicle Queue 的不同消息
贝娄我将分享这个问题更清楚:
interface Message1Listener{
void message(Message1 message);
}
interface Message2Listener{
void message(Message2 message);
}
public class Messag1 extends SelfDescribingMarshallable{
ByteBuffer text;
public Message1(ByteBuffer text){
this.text = text;
}
}
public class Messag2 extends SelfDescribingMarshallable{
ByteBuffer email;
int uniqueKey;
public Message1(ByteBuffer email, int uniqueKey){
this.email = email;
this.uniqueKey = uniqueKey;
}
}
public Message1Processor implements Message1Listener{
public void message(Message1 message){
//do something with message
}
}
public Message2Processor implements Message2Listener{
public void message(Message2 message){
//do something with message
}
}
//write the messages
Message1Listener writer1 = queue.acquireAppender().methodWriter(Message1Listener.class);
Message2Listener writer2 = queue.acquireAppender().methodWriter(Message2Listener.class);
//read the messages
MethodReader reader = queue.createTailer().methodReader(new Message1Processor(), new Message2Processor());
解决方案
推荐阅读
- conv-neural-network - YOLOv3 SPP和YOLOv3的区别?
- single-sign-on - Keyrock-Grafana 上的单点登录不起作用
- javascript - 使用JS触摸div时如何更改背景颜色
- ios - alamofire 401 响应 https 请求,(swift)
- ajax - Ajax 不适用于带有转换器的 primefaces selectManyCheckbox
- kotlin - kotlin 中 Enum.values() 和 enumValues() 的区别
- chart.js - Chart.js - 更改悬停标签的值
- css - 我如何在 javafx 项目中集成 CSS?
- mqtt - 如何使用 ejs(服务器到客户端)保持实时网页?(不是客户端到服务器)
- java - 在 Eclipse 中,创建类时的“封闭类型”是什么?