JVM is in development for v1. Interested in contributing or chatting with us?Get in touch!
JVM - topic.publish()
Publish an event (push based message) to a topic.
import io.nitric.Nitric;
import io.nitric.api.events.v0.NitricEvent;
import io.nitric.resources.TopicPermission;
public class Application {
  public static void main(String[] args) {
    var topic = Nitric.INSTANCE.topic("new-user").with(TopicPermission.Publishing);
    topic.publish(new NitricEvent(Map.of("message", "new user created"), "1234", "none"));
    Nitric.INSTANCE.run();
  }
}
Parameters
- Name
 event- Required
 - Required
 - Type
 - Event or Map<String, Any>
 - Description
 The event to publish to the topic.
- Name
 payload- Required
 - Required
 - Type
 - Map<String, Any>
 - Description
 Payload to send with the event.
- Name
 id- Optional
 - Optional
 - Type
 - String
 - Description
 The unique ID to apply to the event. If an ID is not supplied a UUIDv4 is generated.
- Name
 payloadType- Optional
 - Optional
 - Type
 - String
 - Description
 A hint to the type of payload supplied.
Examples
Publish a topic
import io.nitric.Nitric;
import io.nitric.api.events.v0.NitricEvent;
import io.nitric.resources.TopicPermission;
public class Application {
  public static void main(String[] args) {
    var topic = Nitric.INSTANCE.topic("topic").with(TopicPermission.Publishing);
    topic.publish(new NitricEvent(Map.of("message", "New user created"), "1234", "none"));
    Nitric.INSTANCE.run();
  }
}
Send a message with a delay
import io.nitric.Nitric;
import io.nitric.api.events.v0.NitricEvent;
import io.nitric.api.events.v0.PublishOptions;
import io.nitric.resources.TopicPermission;
public class Application {
  public static void main(String[] args) {
    var topic = Nitric.INSTANCE.topic("topic").with(TopicPermission.Publishing);
    topic.publish(
      new NitricEvent(Map.of("message", "New user created"), "1234", "none"),
      PublishOptions.WithDelay(600) // Send with a delay of 600 seconds (10 minutes)
    );
    Nitric.INSTANCE.run();
  }
}
Notes
- If an id is not supplied with an event a UUID(v4) will be generated for you.
 - A function may subscribe to OR publish to a topic but not both.