Cloud Native, Container First Java framework for building efficient Java applications with fast startup times and low memory usage
—
Quarkus provides reactive programming support with Mutiny, reactive messaging, and event-driven architecture for building scalable asynchronous applications.
public class Uni<T> {
public static <T> Uni<T> createFrom();
public Uni<Void> subscribe();
public <R> Uni<R> map(Function<? super T, ? extends R> mapper);
public <R> Uni<R> flatMap(Function<? super T, Uni<? extends R>> mapper);
public Uni<T> onFailure(Class<? extends Throwable> typeOfFailure);
}Represents a single asynchronous value or failure.
public class Multi<T> {
public static <T> Multi<T> createFrom();
public Multi<T> filter(Predicate<? super T> predicate);
public <R> Multi<R> map(Function<? super T, ? extends R> mapper);
public Multi<T> onItem();
}Represents a stream of asynchronous values.
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Incoming {
String value();
}
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Outgoing {
String value();
}Annotations for reactive message processing.
Usage Example:
@ApplicationScoped
public class MessageProcessor {
@Incoming("input-channel")
@Outgoing("output-channel")
public String process(String message) {
return message.toUpperCase();
}
}Install with Tessl CLI
npx tessl i tessl/maven-io-quarkus--quarkus-bom