Java 在编年史队列中使用方法读写器
嗨,伙计们,我在一个个人项目上遇到了一个难题,我使用编年史队列记录日志。我有两种类型的消息要从队列本身读取和写入。我的问题是,我使用的是使用方法读写器的策略,但是我需要有两个不同的方法名称来对历史记录队列执行操作。当我尝试使用一个方法读取器来读取,该读取器使用相同名称的方法传递接口的两个实现时,只会从编年史抽象中查找第一个实现。我想要一种只维护一个方法名的方法,以便从历史记录队列读取和写入不同的消息 下面我将更清楚地与大家分享这个问题:Java 在编年史队列中使用方法读写器,java,design-patterns,chronicle-queue,Java,Design Patterns,Chronicle Queue,嗨,伙计们,我在一个个人项目上遇到了一个难题,我使用编年史队列记录日志。我有两种类型的消息要从队列本身读取和写入。我的问题是,我使用的是使用方法读写器的策略,但是我需要有两个不同的方法名称来对历史记录队列执行操作。当我尝试使用一个方法读取器来读取,该读取器使用相同名称的方法传递接口的两个实现时,只会从编年史抽象中查找第一个实现。我想要一种只维护一个方法名的方法,以便从历史记录队列读取和写入不同的消息 下面我将更清楚地与大家分享这个问题: interface Message1Listener{
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());