
com.redis.spring.batch.writer.MultiExec Maven / Gradle / Ivy
package com.redis.spring.batch.writer;
import java.util.List;
import io.lettuce.core.RedisFuture;
import io.lettuce.core.api.async.BaseRedisAsyncCommands;
import io.lettuce.core.api.async.RedisTransactionalAsyncCommands;
public class MultiExec implements WriteOperation {
private final WriteOperation delegate;
public MultiExec(WriteOperation delegate) {
this.delegate = delegate;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void execute(BaseRedisAsyncCommands commands, Iterable extends T> inputs,
List> outputs) {
RedisTransactionalAsyncCommands transactionalCommands = (RedisTransactionalAsyncCommands) commands;
outputs.add((RedisFuture) transactionalCommands.multi());
delegate.execute(commands, inputs, outputs);
outputs.add((RedisFuture) transactionalCommands.exec());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy