Last active
August 29, 2015 14:21
-
-
Save anidotnet/225d4e5600103b1b8f1c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.abstractclass; | |
import com.lmax.disruptor.EventTranslatorOneArg; | |
import com.lmax.disruptor.RingBuffer; | |
import com.lmax.disruptor.dsl.Disruptor; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
/** | |
* @author Anindya Chatterjee. | |
*/ | |
public class WriteEventProducer { | |
private static Logger logger = LoggerFactory.getLogger(WriteEventProducer.class); | |
private final Disruptor<WriteEvent> disruptor; | |
public WriteEventProducer(Disruptor<WriteEvent> disruptor) { | |
this.disruptor = disruptor; | |
} | |
private static final EventTranslatorOneArg<WriteEvent, String> TRANSLATOR_ONE_ARG = | |
new EventTranslatorOneArg<WriteEvent, String>() { | |
public void translateTo(WriteEvent writeEvent, long sequence, String message) { | |
logger.debug("Inside translator"); | |
writeEvent.set(message); | |
} | |
}; | |
public void onData(String message) { | |
logger.info("Publishing " + message); | |
// publish the message to disruptor | |
disruptor.publishEvent(TRANSLATOR_ONE_ARG, message); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment