Example usage for org.springframework.messaging.simp.annotation.support SubscriptionMethodReturnValueHandler SubscriptionMethodReturnValueHandler

List of usage examples for org.springframework.messaging.simp.annotation.support SubscriptionMethodReturnValueHandler SubscriptionMethodReturnValueHandler

Introduction

In this page you can find the example usage for org.springframework.messaging.simp.annotation.support SubscriptionMethodReturnValueHandler SubscriptionMethodReturnValueHandler.

Prototype

public SubscriptionMethodReturnValueHandler(MessageSendingOperations<String> template) 

Source Link

Document

Construct a new SubscriptionMethodReturnValueHandler.

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  ww  .jav a 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;
}

From source file:org.springframework.messaging.simp.handler.AnnotationMethodMessageHandler.java

@Override
public void afterPropertiesSet() {

    initHandlerMethods();//  w ww .  jav  a 2s  .c  om

    this.argumentResolvers.addResolver(new PrincipalMethodArgumentResolver());
    this.argumentResolvers.addResolver(new MessageMethodArgumentResolver());
    this.argumentResolvers.addResolver(new MessageBodyMethodArgumentResolver(this.messageConverter));

    this.returnValueHandlers.addHandler(new ReplyToMethodReturnValueHandler(this.dispatchMessagingTemplate));
    this.returnValueHandlers
            .addHandler(new SubscriptionMethodReturnValueHandler(this.webSocketSessionMessagingTemplate));
}