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

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

Introduction

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

Prototype

public void setReceipt(@Nullable String receipt) 

Source Link

Document

Set the receipt 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 {/*  www  .java  2s  .  com*/
            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

@Nullable
private String checkOrAddReceipt(StompHeaders stompHeaders) {
    String receiptId = stompHeaders.getReceipt();
    if (isAutoReceiptEnabled() && receiptId == null) {
        receiptId = String.valueOf(DefaultStompSession.this.receiptIndex.getAndIncrement());
        stompHeaders.setReceipt(receiptId);
    }/*from  w  ww . j a v  a2  s .  c o m*/
    return receiptId;
}