package com.flying.cattle.me.disruptor.producer; import org.springframework.beans.BeanUtils; import com.flying.cattle.me.entity.MatchOrder; import com.lmax.disruptor.RingBuffer; public class OrderProducer { private final RingBuffer<MatchOrder> ringBuffer; public OrderProducer(RingBuffer<MatchOrder> ringBuffer) { this.ringBuffer = ringBuffer; } public void onData(MatchOrder input) { long sequence = ringBuffer.next(); try { MatchOrder order = ringBuffer.get(sequence); BeanUtils.copyProperties(input, order); } finally { ringBuffer.publish(sequence); } } }