
org.swisspush.redisques.action.ReplaceQueueItemAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redisques Show documentation
Show all versions of redisques Show documentation
A highly scalable redis-persistent queuing system for vertx
package org.swisspush.redisques.action;
import io.vertx.core.Vertx;
import io.vertx.core.eventbus.Message;
import io.vertx.core.json.JsonObject;
import org.slf4j.Logger;
import org.swisspush.redisques.exception.RedisQuesExceptionFactory;
import org.swisspush.redisques.handler.ReplaceQueueItemHandler;
import org.swisspush.redisques.util.QueueConfiguration;
import org.swisspush.redisques.util.QueueStatisticsCollector;
import org.swisspush.redisques.util.RedisProvider;
import java.util.List;
import static org.swisspush.redisques.util.RedisquesAPI.*;
public class ReplaceQueueItemAction extends AbstractQueueAction {
public ReplaceQueueItemAction(
Vertx vertx, RedisProvider redisProvider, String address, String queuesKey,
String queuesPrefix, String consumersPrefix, String locksKey,
List queueConfigurations,
RedisQuesExceptionFactory exceptionFactory,
QueueStatisticsCollector queueStatisticsCollector, Logger log
) {
super(vertx, redisProvider, address, queuesKey, queuesPrefix, consumersPrefix,
locksKey, queueConfigurations, exceptionFactory, queueStatisticsCollector, log);
}
@Override
public void execute(Message event) {
String keyReplaceItem = queuesPrefix + event.body().getJsonObject(PAYLOAD).getString(QUEUENAME);
int indexReplaceItem = event.body().getJsonObject(PAYLOAD).getInteger(INDEX);
String bufferReplaceItem = event.body().getJsonObject(PAYLOAD).getString(BUFFER);
var p = redisProvider.redis();
p.onSuccess(redisAPI -> redisAPI.lset(keyReplaceItem, String.valueOf(indexReplaceItem),
bufferReplaceItem, new ReplaceQueueItemHandler(event, exceptionFactory)));
p.onFailure(ex -> handleFail(event, "Operation ReplaceQueueItemAction failed", ex));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy