/* * Copyright (c) 2005-2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * WSO2 Inc. licenses this file to you 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.wso2.carbon.inbound.endpoint.protocol.jms; import javax.xml.namespace.QName; /** * * Common constants used by inbound JMS protocol * */ public class JMSConstants { public static enum JMSDestinationType { QUEUE, TOPIC }; public static final String TOPIC_PREFIX = "topic."; public static final String QUEUE_PREFIX = "queue."; public static String JAVA_INITIAL_NAMING_FACTORY = "java.naming.factory.initial"; public static String JAVA_NAMING_PROVIDER_URL = "java.naming.provider.url"; public static String CONNECTION_FACTORY_JNDI_NAME = "transport.jms.ConnectionFactoryJNDIName"; public static String CONNECTION_FACTORY_TYPE = "transport.jms.ConnectionFactoryType"; public static String DESTINATION_NAME = "transport.jms.Destination"; public static String DESTINATION_TYPE = "transport.jms.DestinationType"; public static final String DESTINATION_TYPE_QUEUE = "queue"; public static final String DESTINATION_TYPE_TOPIC = "topic"; public static String SESSION_TRANSACTED = "transport.jms.SessionTransacted"; public static String SESSION_ACK = "transport.jms.SessionAcknowledgement"; public static String RECEIVER_TIMEOUT = "transport.jms.ReceiveTimeout"; public static String CONTENT_TYPE = "transport.jms.ContentType"; public static String CONTENT_TYPE_PROPERTY = "transport.jms.ContentTypeProperty"; /** Namespace for JMS map payload representation */ public static final String JMS_MAP_NS = "http://axis.apache.org/axis2/java/transports/jms/map-payload"; /** Root element name of JMS Map message payload representation */ public static final String JMS_MAP_ELEMENT_NAME = "JMSMap"; public static final String SET_ROLLBACK_ONLY = "SET_ROLLBACK_ONLY"; public static final QName JMS_MAP_QNAME = new QName(JMS_MAP_NS, JMS_MAP_ELEMENT_NAME, ""); /** * Constant that holds the name of the environment property * for specifying configuration information for the service provider * to use. The value of the property should contain a URL string * (e.g. "ldap://somehost:389"). * This property may be specified in the environment, * an applet parameter, a system property, or a resource file. * If it is not specified in any of these sources, * the default configuration is determined by the service provider. * * <p> The value of this constant is "java.naming.provider.url". */ public static final String PROVIDER_URL = "java.naming.provider.url"; public static final String DESTINATION_TYPE_GENERIC = "generic"; /** * Naming factory initial */ public static final String NAMING_FACTORY_INITIAL = "java.naming.factory.initial"; /** * Default Connection Factory * */ public static final String CONNECTION_STRING = "connectionfactory.QueueConnectionFactory"; public static final String PARAM_CACHE_LEVEL = "transport.jms.CacheLevel"; /** * A MessageContext property or client Option indicating the JMS message type */ public static final String JMS_MESSAGE_TYPE = "JMS_MESSAGE_TYPE"; /** * A MessageContext property or client Option indicating the JMS correlation id */ public static final String JMS_COORELATION_ID = "JMS_COORELATION_ID"; /** * The message type indicating a MapMessage. See {@link JMS_MESSAGE_TYPE} */ public static final String JMS_MAP_MESSAGE = "JMS_MAP_MESSAGE"; /** * The Service level Parameter name indicating the [default] response destination of a service */ public static final String PARAM_REPLY_DESTINATION = "transport.jms.ReplyDestination"; /** * The message type indicating a BytesMessage. See {@link JMS_MESSAGE_TYPE} */ public static final String JMS_BYTE_MESSAGE = "JMS_BYTE_MESSAGE"; /** * The message type indicating a TextMessage. See {@link JMS_MESSAGE_TYPE} */ public static final String JMS_TEXT_MESSAGE = "JMS_TEXT_MESSAGE"; public static final String PARAM_JMS_USERNAME = "transport.jms.UserName"; /** The password to use when obtaining a JMS Connection */ public static final String PARAM_JMS_PASSWORD = "transport.jms.Password"; /** * The parameter indicating the JMS API specification to be used - if this * is "1.1" the JMS 1.1 API would be used, else the JMS 1.0.2B */ public static final String PARAM_JMS_SPEC_VER = "transport.jms.JMSSpecVersion"; /** * Maximum number of shared JMS Connections when sending messages out * */ public static final String MAX_JMS_CONNECTIONS = "transport.jms.MaxJMSConnections"; public static final String MAX_JMS_SESSIONS = "transport.jms.MaxJMSSessions"; public static final String PARAM_SUB_DURABLE = "transport.jms.SubscriptionDurable"; /** The name for the durable subscription See {@link PARAM_SUB_DURABLE} */ public static final String PARAM_DURABLE_SUB_NAME = "transport.jms.DurableSubscriberName"; public static final String PARAM_DURABLE_SUB_CLIENT_ID = "transport.jms.DurableSubscriberClientID"; /** A message selector to be used when messages are sought for this service */ public static final String PARAM_MSG_SELECTOR = "transport.jms.MessageSelector"; /** Should a pub-sub connection receive messages published by itself? */ public static final String PARAM_PUBSUB_NO_LOCAL = "transport.jms.PubSubNoLocal"; /** * Do not cache any JMS resources between tasks (when sending) or JMS CF's * (when sending) */ public static final int CACHE_NONE = 0; /** * Cache only the JMS connection between tasks (when receiving), or JMS CF's * (when sending) */ public static final int CACHE_CONNECTION = 1; /** * Cache only the JMS connection and Session between tasks (receiving), or * JMS CF's (sending) */ public static final int CACHE_SESSION = 2; /** * Cache the JMS connection, Session and Consumer between tasks when * receiving */ public static final int CACHE_CONSUMER = 3; /** * Cache the JMS connection, Session and Producer within a * JMSConnectionFactory when sending */ public static final int CACHE_PRODUCER = 4; /** * automatic choice of an appropriate caching level (depending on the * transaction strategy) */ public static final int CACHE_AUTO = 5; /** The prefix that denotes JMSX properties */ public static final String JMSX_PREFIX = "JMSX"; /** The JMSXGroupID property */ public static final String JMSX_GROUP_ID = "JMSXGroupID"; /** * A MessageContext property or client Option indicating the JMS delivery mode as an Integer or String * Value 1 - javax.jms.DeliveryMode.NON_PERSISTENT * Value 2 - javax.jms.DeliveryMode.PERSISTENT */ public static final String JMS_DELIVERY_MODE = "JMS_DELIVERY_MODE"; /** The JMSXGroupSeq property */ public static final String JMSX_GROUP_SEQ = "JMSXGroupSeq"; /** * A MessageContext property or client Option indicating the JMS message expiration - a Long value * specified as a String */ public static final String JMS_EXPIRATION = "JMS_EXPIRATION"; /** * A MessageContext property or client Option indicating the JMS message id */ public static final String JMS_MESSAGE_ID = "JMS_MESSAGE_ID"; /** * A MessageContext property or client Option indicating the JMS priority */ public static final String JMS_PRIORITY = "JMS_PRIORITY"; /** * A MessageContext property or client Option indicating the JMS timestamp (Long specified as String) */ public static final String JMS_TIMESTAMP = "JMS_TIMESTAMP"; /** * Does the JMS broker support hyphen in JMS message property names. */ public static final String PARAM_JMS_HYPHEN_MODE = "transport.jms.MessagePropertyHyphens"; public static final String HYPHEN_MODE_NONE = "none"; public static final String HYPHEN_MODE_REPLACE = "replace"; public static final String HYPHEN_MODE_DELETE = "delete"; public static final String HYPHEN_REPLACEMENT_STR = "_DASHED_"; public static final String DEFAULT_HYPHEN_SUPPORT = HYPHEN_MODE_NONE; public static final String JMS_RETRY_DURATION = "transport.jms.retry.duration"; /** * JMS 2.0 Parameters */ public static final String PARAM_IS_SHARED_SUBSCRIPTION = "transport.jms.SharedSubscription"; public static final String DELIVERY_COUNT = "jms.message.delivery.count"; public static final String JMS_SPEC_VERSION_1_0 = "1.0"; public static final String JMS_SPEC_VERSION_1_1 = "1.1"; public static final String JMS_SPEC_VERSION_2_0 = "2.0"; }