我对Disruptor框架有一些问题。
publishEvent方法在ringBuffer中无法工作。
我收到了这条错误信息。
方法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);
}
} 发布于 2014-06-05 07:34:03
解决了。
问题在于发布事件Jar。
我将lib.jar重新导入到我的项目中,它起了作用。
不管怎样,谢谢你。
https://stackoverflow.com/questions/23195311
复制相似问题