我对Disruptor Framework有一些问题。
ringBuffer中的publishEvent方法不起作用。
我收到此错误消息。
方法publishEvent(EventTranslatorOneArg,ByteBuffer)未定义RingBuffer类型
这是我的java类。
import java.nio.ByteBuffer;
import com.lmax.disruptor.RingBuffer;
import com.lmax.disruptor.EventTranslatorOneArg;
import com.lmax.disruptor.EventTranslatorTwoArg;
import com.lmax.disruptor.*;
public class LongEventProducerWithTranslator {
/**
* @param args
*/
private final RingBuffer<LongEvent> ringBuffer;
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public LongEventProducerWithTranslator(RingBuffer<LongEvent> ringBuffer)
{
this.ringBuffer = ringBuffer;
}
private static final EventTranslatorOneArg<LongEvent, ByteBuffer> TRANSLATOR =
new EventTranslatorOneArg<LongEvent, ByteBuffer>()
{
public void translateTo(LongEvent event, long sequence, ByteBuffer bb)
{
event.set(bb.getLong(0));
}
};
public void onData(ByteBuffer bb)
{
ringBuffer.publishEvent(TRANSLATOR, bb);
}
}
答案 0 :(得分:0)
解决。
问题在于发布事件Jar。
我将lib.jar重新导入到我的项目中并且有效。
非常感谢。