public class QueueRemoveCmd extends CmdBase implements Cmd<List<String>>
An Usage Example:
Supposing you want to add a new element(the element name is "e1" to a queue(the queue name is "q1"), then you get(remove) the element from the queue, you could write this as:
package com.example;
import ax.antpick.k2hdkc.*;
import com.sun.jna.*;
import com.sun.jna.ptr.*;
import java.io.IOException;
import java.util.*;
import java.util.stream.*;
public class App {
public static void main(String[] args) {
try (Cluster cluster = Cluster.of("cluster/slave.yaml");
Session sess = Session.of(cluster); ) {
// 1. add an element to this queue
QueueAddCmd qadd = QueueAddCmd.of("q1", "e1");
assert (qadd.execute(sess).get().isSuccess());
// 2. remove an element from this queue
QueueRemoveCmd qrm = QueueRemoveCmd.of("q1");
List<String> r = (List<String>) qrm.execute(sess).get().getValue();
assert (r.get(0).equals("e1"));
} catch (IOException ex) {
System.out.println(ex.getMessage());
assert (false);
}
}
}
Before running the code above, You should run three processes.
The following commands in this repository will run all processes you need in localhost.
$ cd cluster
$ sh start_server.sh
Cmd.DataType
DEFAULT_CHECK_PARENT_ATTRS, DEFAULT_EXPIRATION_DURATION, DEFAULT_IS_CHECK_PARENT_ATTRS, DEFAULT_IS_CLEAR_SUBKEYS, DEFAULT_IS_FIFO, DEFAULT_IS_INCREMENT, DEFAULT_NEED_RETURN_VALUE, DEFAULT_PARENT_KEY, DEFAULT_PASS, DEFAULT_REMOVE_ELEMENT_SIZE, DEFAULT_REMOVE_RECURSIVELY, DEFAULT_SUBKEYS
Modifier and Type | Method and Description |
---|---|
<T> Optional<Result<T>> |
execute(Session session)
Removes elements from this queue.
|
static QueueRemoveCmd |
of(String prefix)
Constructs a QueueRemoveCmd instance.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
bytesToInt, getValusAsInt
public static QueueRemoveCmd of(String prefix)
prefix
- a prefix stringIllegalArgumentException
- if a key string is null or emptypublic <T> Optional<Result<T>> execute(Session session) throws IOException
execute
in interface Cmd<List<String>>
session
- a Session instanceIllegalArgumentException
- if an illegal augment existsIOException
- if underlying library errors occur.Copyright © 2020. All rights reserved.