Add readme

This commit is contained in:
Andrea Cavalli 2022-10-10 01:18:31 +02:00
parent cc02c053dd
commit dbcdbaafeb

31
README.md Normal file
View File

@ -0,0 +1,31 @@
# FileQueue
Store messages on a disk queue in a fast producer, slow consumer scenario.
```java
var tmpFile = Paths.get("temp.queue.bin");
try (var queue = new it.cavallium.filequeue.DiskQueueToConsumer<String>(tmpFile, new Serializer<String>() {
@Override
public byte[] serialize(String data) throws IOException {
return data.getBytes(StandardCharsets.US_ASCII);
}
}, new Deserializer<String>() {
@Override
public String deserialize(byte[] data) throws IOException {
return new String(data, StandardCharsets.US_ASCII);
}
}, text -> {
System.out.println("Received: %s", text);
// Return true if the message has been consumed, false to retry later
return true;
})) {
queue.startQueue();
final var text = "test-message";
while (true) {
System.out.println("Emitted: %s", text);
queue.add(text);
}
}
```