JMSConstants.java |
/* * The Apache Software License, Version 1.1 * * * Copyright (c) 2001, 2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Axis" and "Apache Software Foundation" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache", * nor may "Apache" appear in their name, without prior written * permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */ package org.jboss.axis.transport.jms; import javax.jms.DeliveryMode; import javax.jms.Message; import javax.jms.Session; /** * JMSConstants contains constants that apply to all JMS providers. * * <code>JMSConstants</code> contains the constant definitions for * interacting with the WSClient. The most important constants are the * <code>HashMap</code> keys for use in the arguments to the * <code>send, call, registerListener, unregisterListener</code> methods of * <code>JMSEndpoint</code> and the <code>createConnector</code> method of * <code>JMSConnectorFactory</code>. * * @author Jaime Meritt (jmeritt@sonicsoftware.com) * @author Richard Chung (rchung@sonicsoftware.com) * @author Dave Chappell (chappell@sonicsoftware.com) */ public interface JMSConstants { /** * This is used as a key in the Call properties telling the JMS transport * to wait for a response from the service. The default value is true. * If false is specified, the message will be delivered without specifying * a ReplyTo. The client will always return null from invoke unless * a client-side exception is thrown (similar to invokeOneWay in semantics) * The value must be a <code>java.lang.Boolean</code>. * See the javax.jms javadoc for information on this property. */ final static String WAIT_FOR_RESPONSE = "transport.jms.WaitForResponse"; /** * <code>JMSConnectorFactory</code> parameter valid for either domain. This should * be used as a key in the environment map passed into calls to * <code>createConnector</code> in <code>JMSConnectorFactory</code> * This is a required property for durable subscribers. * The value must be a <code>java.lang.String</code>. * See the javax.jms javadoc for information on this property. */ final static String CLIENT_ID = "transport.jms.ClientID"; final static String DESTINATION = "transport.jms.Destination"; final static String CONNECTOR = "transport.jms.Connector"; final static String DOMAIN = "transport.jms.Domain"; final static String DOMAIN_QUEUE = "QUEUE"; final static String DOMAIN_TOPIC = "TOPIC"; final static String DOMAIN_DEFAULT = DOMAIN_QUEUE; /** * Key for properties used in the <code>send</code> and <code>call</code> * methods. It is valid for either domain. * The value must be a <code>java.lang.String</code>. * See the javax.jms javadoc for information on this property. */ final static String JMS_CORRELATION_ID = "transport.jms.JMSCorrelationID"; /** * Key for properties used in the <code>send</code> and <code>call</code> * methods. It is valid for either domain. * The value must be a <code>byte[]</code>. * See the javax.jms javadoc for information on this property. */ final static String JMS_CORRELATION_ID_AS_BYTES = "transport.jms.JMSCorrelationIDAsBytes"; /** * Key for properties used in the <code>send</code> and <code>call</code> * methods. It is valid for either domain. * The value must be a <code>java.lang.String</code>. * See the javax.jms javadoc for information on this property. */ final static String JMS_TYPE = "transport.jms.JMSType"; /** * Key for properties used in the <code>send</code> and <code>call</code> * methods. It is valid for either domain. * The value must be a <code>java.lang.Long</code>. * See the javax.jms javadoc for information on this property. */ final static String TIME_TO_LIVE = "transport.jms.TimeToLive"; /** * Key for properties used in the <code>send</code> and <code>call</code> * methods. It is valid for either domain. * The value must be a <code>java.lang.Integer</code>. * See the javax.jms javadoc for information on this property. */ final static String PRIORITY = "transport.jms.Priority"; /** * Key for properties used in the <code>send</code> and <code>call</code> * methods. It is valid for either domain. * The value must be a <code>java.lang.Integer</code> equal to * DeliveryMode.NON_PERSISTENT or DeliveryMode.PERSISTENT. * See the javax.jms javadoc for information on this property. */ final static String DELIVERY_MODE = "transport.jms.DeliveryMode"; final static int DEFAULT_DELIVERY_MODE = DeliveryMode.NON_PERSISTENT; final static int DEFAULT_PRIORITY = Message.DEFAULT_PRIORITY; final static long DEFAULT_TIME_TO_LIVE = Message.DEFAULT_TIME_TO_LIVE; /** * Key for properties used in the <code>registerListener</code> * method. It is valid for either domain. * The value must be a <code>java.lang.String</code>. * See the javax.jms javadoc for information on this property. */ final static String MESSAGE_SELECTOR = "transport.jms.MessageSelector"; /** * Key for properties used in the <code>registerListener</code> * method. It is valid for either domain. * The value must be a <code>java.lang.Integer</code> that is one of * Session.AUTO_ACKNOWLEDGE, Session.DUPS_OK_ACKNOWLEDGE, * or Session.CLIENT_ACKNOWLEDGE. * See the javax.jms javadoc for information on this property. */ final static String ACKNOWLEDGE_MODE = "transport.jms.AcknowledgeMode"; /** * value for ACKNOWLEDGE_MODE if left unset. It is equal to * Session.DUPS_OK_ACKNOWLEDGE. */ final static int DEFAULT_ACKNOWLEDGE_MODE = Session.DUPS_OK_ACKNOWLEDGE; /** * Specifies the name of a durable subscription * Key for properties used in the <code>registerListener</code> * method. It is valid for the PubSub domain. * The value must be a <code>java.lang.String</code>. */ final static String SUBSCRIPTION_NAME = "transport.jms.SubscriptionName"; /** * Key for properties used in the <code>registerListener</code> * method. It is valid for the PubSub domain. * Specifies that the durable subscription should be unsubscribed * (deleted from the broker) when unregistered. * The value must be a <code>java.lang.Boolean</code>. */ final static String UNSUBSCRIBE = "transport.jms.Unsubscribe"; /** * Key for properties used in the <code>registerListener</code> * method. It is valid for the PubSub domain. * The value must be a <code>java.lang.Boolean</code>. */ final static String NO_LOCAL = "transport.jms.NoLocal"; final static boolean DEFAULT_NO_LOCAL = false; final static boolean DEFAULT_UNSUBSCRIBE = false; /** * Key for properties used in the <code>createConnector</code> * method. It changes the behavior of the wsclient. * The value must be a <code>java.lang.Integer</code>. */ final static String NUM_RETRIES = "transport.jms.NumRetries"; /** * Key for properties used in the <code>createConnector</code> * method. It changes the behavior of the wsclient. * The value must be a <code>java.lang.Integer</code>. */ final static String NUM_SESSIONS = "transport.jms.NumSessions"; /** * Key for properties used in the <code>createConnector</code> * method. It changes the behavior of the wsclient. * The value must be a <code>java.lang.Long</code>. */ final static String CONNECT_RETRY_INTERVAL = "transport.jms.ConnectRetryInterval"; /** * Key for properties used in the <code>createConnector</code> * method. It changes the behavior of the wsclient. * The value must be a <code>java.lang.Long</code>. */ final static String INTERACT_RETRY_INTERVAL = "transport.jms.InteractRetryInterval"; /** * Key for properties used in the <code>createConnector</code> * method. It changes the behavior of the wsclient. * The value must be a <code>java.lang.Long</code>. */ final static String TIMEOUT_TIME = "transport.jms.TimeoutTime"; /** * Key for properties used in the <code>createConnector</code> * method. It changes the behavior of the wsclient. * The value must be a <code>java.lang.Long</code>. */ final static String MIN_TIMEOUT_TIME = "transport.jms.MinTimeoutTime"; final static int DEFAULT_NUM_RETRIES = 5; final static int DEFAULT_NUM_SESSIONS = 5; final static long DEFAULT_CONNECT_RETRY_INTERVAL = 2000; final static long DEFAULT_TIMEOUT_TIME = 5000; final static long DEFAULT_MIN_TIMEOUT_TIME = 1000; final static long DEFAULT_INTERACT_RETRY_INTERVAL = 250; }
JMSConstants.java |