@Override
    public IQueueMessage<ID, DATA> take() throws QueueException.EphemeralIsFull {
        if (!isEphemeralDisabled()) {
            int ephemeralMaxSize = getEphemeralMaxSize();
            if (ephemeralMaxSize > 0 && ephemeralSize() >= ephemeralMaxSize) {
                throw new QueueException.EphemeralIsFull(ephemeralMaxSize);
            }
        }
        try (Jedis jedis = getJedisConnector().getJedis()) {
            long now = System.currentTimeMillis();
            Object response = jedis.eval(getScriptTake(), 0, String.valueOf(now));
            if (response == null) {
                return null;
            }
            return deserialize(response instanceof byte[] ? (byte[]) response
                    : response.toString().getBytes(QueueUtils.UTF8));
        }
    }
@ Override public IQueueMessage < ID , DATA > take ( ) throws QueueException . EphemeralIsFull { if ( ! isEphemeralDisabled ( ) ) { int ephemeralMaxSize = getEphemeralMaxSize ( ) ; if ( ephemeralMaxSize > 0 && ephemeralSize ( ) >= ephemeralMaxSize ) { throw new QueueException . EphemeralIsFull ( ephemeralMaxSize ) ; } } try ( Jedis jedis = getJedisConnector ( ) . getJedis ( ) ) { long now = System . currentTimeMillis ( ) ; Object response = jedis . eval ( getScriptTake ( ) , 0 , String . valueOf ( now ) ) ; if ( response == null ) { return null ; } return deserialize ( response instanceof byte [ ] ? ( byte [ ] ) response : response . toString ( ) . getBytes ( QueueUtils . UTF8 ) ) ; } }
{@inheritDoc}

@throws QueueException.EphemeralIsFull
if the ephemeral storage is full