Example usage for org.springframework.messaging.handler.invocation CompletableFutureReturnValueHandler CompletableFutureReturnValueHandler

List of usage examples for org.springframework.messaging.handler.invocation CompletableFutureReturnValueHandler CompletableFutureReturnValueHandler

Introduction

In this page you can find the example usage for org.springframework.messaging.handler.invocation CompletableFutureReturnValueHandler CompletableFutureReturnValueHandler.

Prototype

CompletableFutureReturnValueHandler

Source Link

Usage

From source file:org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.java

@Override
protected List<? extends HandlerMethodReturnValueHandler> initReturnValueHandlers() {
    List<HandlerMethodReturnValueHandler> handlers = new ArrayList<>();

    // Single-purpose return value types

    handlers.add(new ListenableFutureReturnValueHandler());
    handlers.add(new CompletableFutureReturnValueHandler());
    handlers.add(new ReactiveReturnValueHandler());

    // Annotation-based return value types

    SendToMethodReturnValueHandler sendToHandler = new SendToMethodReturnValueHandler(this.brokerTemplate,
            true);/*from   w  w w . j a va  2s .  c  o m*/
    sendToHandler.setHeaderInitializer(this.headerInitializer);
    handlers.add(sendToHandler);

    SubscriptionMethodReturnValueHandler subscriptionHandler = new SubscriptionMethodReturnValueHandler(
            this.clientMessagingTemplate);
    subscriptionHandler.setHeaderInitializer(this.headerInitializer);
    handlers.add(subscriptionHandler);

    // custom return value types
    handlers.addAll(getCustomReturnValueHandlers());

    // catch-all

    sendToHandler = new SendToMethodReturnValueHandler(this.brokerTemplate, false);
    sendToHandler.setHeaderInitializer(this.headerInitializer);
    handlers.add(sendToHandler);

    return handlers;
}