/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.transport.jms.common; import de.rcenvironment.core.communication.model.NetworkResponse; /** * Constants used as part of JMS-based transport network protocols. * * @author Robert Mischke */ public abstract class JmsProtocolConstants { /** * JMS property key for the message type. */ public static final String MESSAGE_FIELD_MESSAGE_TYPE = "messageType"; /** * JMS property key for the protocol compatibility check string. */ public static final String MESSAGE_FIELD_PROTOCOL_VERSION = "protocol.version"; /** * JMS property key for the metadata map. */ public static final String MESSAGE_FIELD_METADATA = "metadata"; /** * JMS property key for the integer result code of a {@link NetworkResponse}. */ public static final String MESSAGE_FIELD_RESULT_CODE = "result.code"; /** * JMS property key for transporting the queue name to use for remote-initiated requests; used in both directions. * * Note that "remote-initiated request" is always relative to the side that sends this message; do not confuse this with * "remote-initiated message channel", which is relative to who initiated the underlying network (usually, TCP) connection. */ public static final String MESSAGE_FIELD_REMOTE_INITIATED_REQUEST_INBOX = "queuename.requests.incoming"; /** * JMS property key for transporting the client-to-broker request queue name during the initial handshake. */ public static final String MESSAGE_FIELD_C2S_REQUEST_INBOX = "queuename.requests.c2s"; /** * JMS property key for transporting a C2B channel name. Used for C2B shutdown messages. */ public static final String MESSAGE_FIELD_CHANNEL_ID = "channel.id"; /** * Message type value for the initial handshake request. */ public static final String MESSAGE_TYPE_INITIAL = "initial"; /** * Message type value for general requests. */ public static final String MESSAGE_TYPE_REQUEST = "request"; /** * Message type value for queue shutdown signals. */ public static final String MESSAGE_TYPE_QUEUE_SHUTDOWN = "shutdown.queue.s2c"; /** * Message type value for client-to-broker channel shutdown signals. */ public static final String MESSAGE_TYPE_CHANNEL_CLOSING = "shutdown.channel"; /** * The JMS queue name for the initial handshake inbox. */ public static final String QUEUE_NAME_INITIAL_BROKER_INBOX = "initial/c2b"; /** * The JMS queue name for the common request inbox. */ public static final String QUEUE_NAME_C2B_REQUEST_INBOX = "requests/c2b/common"; /** * The time to wait after sending a channel shutdown notice before actually closing the JMS connection. This prevents unnecessary JMS * exceptions on the remote side. */ public static final long WAIT_AFTER_SENDING_SHUTDOWN_MESSAGE_MSEC = 1000; }