JVM is in development for v1. Interested in contributing or chatting with us?Get in touch!
JVM - topic.subscribe()
Subscribe a handler to a topic and receive new events for processing.
import io.nitric.Nitric;
public class Application {
  public static void main(String[] args) {
    var topic = Nitric.INSTANCE.topic("new-user");
    topic.subscribe(ctx -> {
      // process event
      return ctx;
    });
    Nitric.INSTANCE.run();
  }
}
Parameters
- Name
 middleware- Required
 - Required
 - Type
 - Middleware<EventContext> or List<Middleware<EventContext>>
 - Description
 The middleware (code) to be triggered by the topic.
Examples
Subscribe to a topic
import io.nitric.Nitric;
public class Application {
  public static void main(String[] args) {
    var topic = Nitric.INSTANCE.topic("new-user");
    topic.subscribe(ctx -> {
      // process event
      return ctx;
    });
    Nitric.INSTANCE.run();
  }
}
Subscibe to a topic with chained middleware
import io.nitric.Nitric;
public class Application {
  public static void main(String[] args) {
    var topic = Nitric.INSTANCE.topic("topic");
    topic.subscribe(List.of((ctx, next) -> {
      // process event
      return next.invoke(ctx);
    }, (ctx, next) -> {
      // process event
      return next.invoke(ctx);
    }));
    Nitric.INSTANCE.run();
  }
}
Notes
- A function may only subscribe to a topic once, if multiple subscribers are required, create them in different functions.
 - A function may subscribe to OR publish to a topic but not both