/*
* Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.jms.support;
/**
* Pre-defined names and prefixes to be used for setting and/or retrieving
* JMS attributes from/to generic message headers.
*
* @author Mark Fisher
* @author Stephane Nicoll
* @since 4.1
*/
public interface JmsHeaders {
/**
* Prefix used for JMS API related headers in order to distinguish from
* user-defined headers and other internal headers (e.g. correlationId).
* @see SimpleJmsHeaderMapper
*/
String PREFIX = "jms_";
/**
* Correlation ID for the message. This may be the {@link #MESSAGE_ID} of
* the message that this message replies to. It may also be an
* application-specific identifier.
* @see javax.jms.Message#getJMSCorrelationID()
*/
String CORRELATION_ID = PREFIX + "correlationId";
/**
* Name of the destination (topic or queue) of the message.
* <p>Read-only value.
* @see javax.jms.Message#getJMSDestination()
* @see javax.jms.Destination
* @see javax.jms.Queue
* @see javax.jms.Topic
*/
String DESTINATION = PREFIX + "destination";
/**
* Distribution mode.
* <p>Read-only value.
* @see javax.jms.Message#getJMSDeliveryMode()
* @see javax.jms.DeliveryMode
*/
String DELIVERY_MODE = PREFIX + "deliveryMode";
/**
* Message expiration date and time.
* <p>Read-only value.
* @see javax.jms.Message#getJMSExpiration()
*/
String EXPIRATION = PREFIX + "expiration";
/**
* Unique identifier for a message.
* <p>Read-only value.
* @see javax.jms.Message#getJMSMessageID()
*/
String MESSAGE_ID = PREFIX + "messageId";
/**
* The message priority level.
* <p>Read-only value.
* @see javax.jms.Message#getJMSPriority()
*/
String PRIORITY = PREFIX + "priority";
/**
* Name of the destination (topic or queue) the message replies should
* be sent to.
* @see javax.jms.Message#getJMSReplyTo()
*/
String REPLY_TO = PREFIX + "replyTo";
/**
* Specify if the message was resent. This occurs when a message
* consumer fails to acknowledge the message reception.
* <p>Read-only value.
* @see javax.jms.Message#getJMSRedelivered()
*/
String REDELIVERED = PREFIX + "redelivered";
/**
* Message type label. This type is a string value describing the message
* in a functional manner.
* @see javax.jms.Message#getJMSType()
*/
String TYPE = PREFIX + "type";
/**
* Date and time of the message sending operation.
* <p>Read-only value.
* @see javax.jms.Message#getJMSTimestamp()
*/
String TIMESTAMP = PREFIX + "timestamp";
}