The JVM SDK currently only supports legacy versions of Nitric prior to v1. This version is maintained for compatibility with existing projects and not recommended for new projects. New projects should be started using a supported SDK (presented automatically using the `nitric new` command) orget in touch to request an update to the latest version.
JVM - queue.send()
Send tasks to a queue.
import io.nitric.Nitric;
import io.nitric.resources.QueuePermission;
public class Application {
public static void main(String[] args) {
var queue = Nitric.INSTANCE.queue("batch").with(QueuePermission.Send);
var payload = Map.of("message", "hello");
queue.send(payload);
Nitric.INSTANCE.run();
}
}
Parameters
- Name
tasks
- Required
- Required
- Type
- Task or List<Task>
- Description
A task or an array of tasks to send to the queue.
Examples
Send a task to a queue
import io.nitric.Nitric;
import io.nitric.resources.QueuePermission;
public class Application {
public static void main(String[] args) {
var queue = Nitric.INSTANCE.queue("batch").with(QueuePermission.Send);
var payload = Map.of("message", "payloads can be any serializable object");
queue.send(payload);
Nitric.INSTANCE.run();
}
}
Send multiple tasks to a queue
import io.nitric.Nitric;
import io.nitric.resources.QueuePermission;
import java.util.List;
public class Application {
public static void main(String[] args) {
var queue = Nitric.INSTANCE.queue("batch").with(QueuePermission.Send);
var payloads = List.of(
Map.of(
"type", "SMS",
"to", "+172000000000",
"subject", "Notification",
"message", "A text message from Nitric"
),
Map.of(
"type", "Email",
"to", "hello@example.com",
"subject", "Notification",
"message", "A notification from Nitric",
)
);
queue.send(payloads);
Nitric.INSTANCE.run();
}
}
Dealing with failures
In rare cases when sending tasks to a queue some tasks might fail to be sent. The response from send()
will include an array of any tasks that failed to send. You can process this array to retry or log the error.
var failed = queue.send(tasks);
failed.forEach((task) -> {
System.out.println(task);
});