<dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> <version>3.4.2</version> </dependency> public class Data { private String content; public Data(String content) { this.content = content; } // Getters and setters... } public class DataEvent { private Data data; public DataEvent() { this.data = new Data(""); } public void setData(Data data) { this.data = data; } public Data getData() { return data; } } public class DataEventHandler implements EventHandler<DataEvent> { @Override public void onEvent(DataEvent event, long sequence, boolean endOfBatch) throws Exception { } } public class DataEventFactory implements EventFactory<DataEvent> { @Override public DataEvent newInstance() { return new DataEvent(); } } public class DataEventMain { public static void main(String[] args) { Disruptor<DataEvent> disruptor = new Disruptor<>(new DataEventFactory(), bufferSize, executor); DataEventHandler[] eventHandlers = new DataEventHandler[4]; for (int i = 0; i < eventHandlers.length; i++) { eventHandlers[i] = new DataEventHandler(); } disruptor.handleEventsWith(eventHandlers); disruptor.start(); RingBuffer<DataEvent> ringBuffer = disruptor.getRingBuffer(); for (int i = 0; i < 10; i++) { long sequence = ringBuffer.next(); DataEvent event = ringBuffer.get(sequence); event.setData(new Data("Data " + i)); ringBuffer.publish(sequence); } disruptor.shutdown(); } }


上一篇:
下一篇:
切换中文