All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.lontime.extredisson.notify.AbstractNotifyProvider Maven / Gradle / Ivy

The newest version!
package com.github.lontime.extredisson.notify;

import com.github.lontime.extredisson.RedissonInstance;
import com.github.lontime.extredisson.common.RedisKeys;
import com.github.lontime.shaded.org.redisson.api.RedissonClient;
import com.github.lontime.shaded.org.redisson.client.codec.ByteArrayCodec;
import com.github.lontime.shaded.org.redisson.client.codec.StringCodec;

/**
 * AbstractNotifyProvider
 * @author lontime
 * @since 1.0
 */
public abstract class AbstractNotifyProvider implements NotifyProvider {

    @Override
    public boolean notify(String connection, String replyTo, byte[] bytes) {
        final RedissonClient client = RedissonInstance.get().client(connection);
        client.getScoredSortedSet(RedisKeys.SYS_REPLY_ALL.getFullName(), StringCodec.INSTANCE).addAsync(System.currentTimeMillis(), replyTo);
        return client.getBlockingQueue(replyTo, ByteArrayCodec.INSTANCE).add(bytes);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy