use of org.apache.rocketmq.connect.redis.processor.DefaultRedisEventProcessor in project rocketmq-externals by apache.
the class RedisSourceTask method start.
@Override
public void start(KeyValue keyValue) {
this.kvEntryConverter = new RedisEntryConverter();
this.config = new Config();
this.config.load(keyValue);
LOGGER.info("task config msg: {}", this.config.toString());
// get position info
ByteBuffer byteBuffer = this.context.positionStorageReader().getPosition(this.config.getPositionPartitionKey());
Long position = RedisPositionConverter.jsonToLong(byteBuffer);
if (position != null && position >= -1) {
this.config.setPosition(position);
}
LOGGER.info("task load connector runtime position: {}", this.config.getPosition());
this.eventProcessor = new DefaultRedisEventProcessor(config);
RedisEventHandler eventHandler = new DefaultRedisEventHandler(this.config);
this.eventProcessor.registEventHandler(eventHandler);
this.eventProcessor.registProcessorCallback(new DefaultRedisEventProcessorCallback());
try {
this.eventProcessor.start();
LOGGER.info("Redis task start.");
} catch (IOException e) {
LOGGER.error("processor start error: {}", e);
this.stop();
}
}
use of org.apache.rocketmq.connect.redis.processor.DefaultRedisEventProcessor in project rocketmq-externals by apache.
the class ListenerTest method getProcessor.
private RedisEventProcessor getProcessor() {
Config config = getConfig();
RedisEventHandler eventHandler = new DefaultRedisEventHandler(config);
RedisEventProcessor processor = new DefaultRedisEventProcessor(config);
processor.registEventHandler(eventHandler);
return processor;
}
use of org.apache.rocketmq.connect.redis.processor.DefaultRedisEventProcessor in project rocketmq-externals by apache.
the class ProcessorTest method getProcessor.
private RedisEventProcessor getProcessor(Config config) {
RedisEventHandler eventHandler = new DefaultRedisEventHandler(config);
RedisEventProcessor processor = new DefaultRedisEventProcessor(config);
processor.registEventHandler(eventHandler);
return processor;
}
use of org.apache.rocketmq.connect.redis.processor.DefaultRedisEventProcessor in project rocketmq-externals by apache.
the class ProcessorTest method testHandler.
@Test
public void testHandler() throws Exception {
processor = getProcessor();
DefaultRedisEventProcessor defaultRedisEventProcessor = (DefaultRedisEventProcessor) processor;
RedisEvent event = new RedisEvent();
event.setEvent(getKeyValuePair());
event.setReplOffset(123L);
event.setStreamDB(0);
event.setReplId("asdfsdfa");
defaultRedisEventProcessor.commit(event);
KVEntry res = null;
try {
res = defaultRedisEventProcessor.poll();
} catch (Exception e) {
e.printStackTrace();
}
Assert.assertNotNull(res);
event.setEvent(getKVCommandPair());
defaultRedisEventProcessor.commit(event);
try {
res = defaultRedisEventProcessor.poll();
} catch (Exception e) {
e.printStackTrace();
}
Assert.assertNotNull(res);
}
Aggregations