Example usage for org.springframework.messaging.simp.stomp StompHeaders setDestination

List of usage examples for org.springframework.messaging.simp.stomp StompHeaders setDestination

Introduction

In this page you can find the example usage for org.springframework.messaging.simp.stomp StompHeaders setDestination.

Prototype

public void setDestination(@Nullable String destination) 

Source Link

Document

Set the destination header.

Usage

From source file:org.springframework.integration.stomp.support.StompHeaderMapper.java

private void setStompHeader(StompHeaders target, String name, Object value) {
    if (StompHeaders.CONTENT_LENGTH.equals(name)) {
        if (value instanceof Number) {
            target.setContentLength(((Number) value).longValue());
        } else if (value instanceof String) {
            target.setContentLength(Long.parseLong((String) value));
        } else {//from  w w w .  j a va  2  s  .  c  o  m
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected Number or String value for 'content-length' header value, but received: "
                            + clazz);
        }
    } else if (StompHeaders.CONTENT_TYPE.equals(name) || MessageHeaders.CONTENT_TYPE.equals(name)) {
        MimeType contentType = target.getContentType();
        if (contentType == null || StompHeaders.CONTENT_TYPE.equals(name)) {
            if (value instanceof MediaType) {
                target.setContentType((MediaType) value);
            } else if (value instanceof String) {
                target.setContentType(MediaType.parseMediaType((String) value));
            } else {
                Class<?> clazz = (value != null) ? value.getClass() : null;
                throw new IllegalArgumentException(
                        "Expected MediaType or String value for 'content-type' header value, but received: "
                                + clazz);
            }
        }
    } else if (StompHeaders.DESTINATION.equals(name) || IntegrationStompHeaders.DESTINATION.equals(name)) {
        if (value instanceof String) {
            target.setDestination((String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for 'destination' header value, but received: " + clazz);
        }
    } else if (StompHeaders.RECEIPT.equals(name) || IntegrationStompHeaders.RECEIPT.equals(name)) {
        if (value instanceof String) {
            target.setReceipt((String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for 'receipt' header value, but received: " + clazz);
        }
    } else {
        if (value instanceof String) {
            target.set(name, (String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for any generic STOMP header value, but received: " + clazz);
        }
    }
}

From source file:org.springframework.messaging.simp.stomp.DefaultStompSession.java

@Override
public Receiptable send(String destination, Object payload) {
    StompHeaders stompHeaders = new StompHeaders();
    stompHeaders.setDestination(destination);
    return send(stompHeaders, payload);
}

From source file:org.springframework.messaging.simp.stomp.DefaultStompSession.java

@Override
public Subscription subscribe(String destination, StompFrameHandler handler) {
    StompHeaders stompHeaders = new StompHeaders();
    stompHeaders.setDestination(destination);
    return subscribe(stompHeaders, handler);
}