use of org.apache.rocketmq.connect.redis.handler.RedisEventHandler in project rocketmq-externals by apache.
the class RedisEventHandlerTest method handlerTest.
private <T> KVEntry handlerTest(int rdbType, ValueSetter<T> setter) {
KVEntry res = null;
Exception ex = null;
Config config = getConfig();
RedisEventHandler handler = new DefaultRedisEventHandler(config);
KeyValuePair keyValuePair = new KeyStringValueList();
keyValuePair.setValueRdbType(rdbType);
keyValuePair.setKey("key".getBytes());
Object value = setter.getValue();
keyValuePair.setValue(value);
try {
res = handler.handleKVString(replId, offset, keyValuePair);
} catch (Exception e) {
e.printStackTrace();
ex = e;
}
Assert.assertNull(ex);
return res;
}
use of org.apache.rocketmq.connect.redis.handler.RedisEventHandler in project rocketmq-externals by apache.
the class RedisEventHandlerTest method testNull.
@Test
public void testNull() {
Config config = getConfig();
RedisEventHandler handler = new DefaultRedisEventHandler(config);
KVEntry res = null;
Exception ex = null;
// 测试increment下的rdb数据处理
config.setSyncMod(SyncMod.LAST_OFFSET.name());
KeyValuePair keyValuePair = new KeyStringValueString();
keyValuePair.setKey("key".getBytes());
keyValuePair.setValue("value".getBytes());
try {
res = handler.handleKVString(replId, offset, keyValuePair);
} catch (Exception e) {
e.printStackTrace();
ex = e;
}
Assert.assertNull(res);
Assert.assertNull(ex);
// 测试未指定的command
GetSetCommand command = new GetSetCommand();
command.setKey("key".getBytes());
command.setValue("value".getBytes());
try {
res = handler.handleCommand(replId, offset, command);
} catch (Exception e) {
ex = e;
}
Assert.assertNull(res);
Assert.assertNull(ex);
}
use of org.apache.rocketmq.connect.redis.handler.RedisEventHandler 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.handler.RedisEventHandler 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.handler.RedisEventHandler in project rocketmq-externals by apache.
the class ListenerTest method getFailedProcessor.
private RedisEventProcessor getFailedProcessor(Config config) {
RedisEventHandler eventHandler = new DefaultRedisEventHandler(config);
RedisEventProcessor processor = mock(DefaultRedisEventProcessor.class);
processor.registEventHandler(eventHandler);
try {
when(processor.commit(any())).thenReturn(false);
} catch (Exception e) {
e.printStackTrace();
}
return processor;
}
Aggregations