| /* |
| * The contents of this file are subject to the terms |
| * of the Common Development and Distribution License |
| * (the License). You may not use this file except in |
| * compliance with the License. |
| * |
| * You can obtain a copy of the license at |
| * https://glassfish.dev.java.net/public/CDDLv1.0.html or |
| * glassfish/bootstrap/legal/CDDLv1.0.txt. |
| * See the License for the specific language governing |
| * permissions and limitations under the License. |
| * |
| * When distributing Covered Code, include this CDDL |
| * Header Notice in each file and include the License file |
| * at glassfish/bootstrap/legal/CDDLv1.0.txt. |
| * If applicable, add the following below the CDDL Header, |
| * with the fields enclosed by brackets [] replaced by |
| * you own identifying information: |
| * "Portions Copyrighted [year] [name of copyright owner]" |
| * |
| * Copyright 2006 Sun Microsystems, Inc. All rights reserved. |
| */ |
| |
| |
| package javax.jms; |
| |
| /** The <CODE>XAConnectionFactory</CODE> interface is a base interface for the |
| * <CODE>XAQueueConnectionFactory</CODE> and |
| * <CODE>XATopicConnectionFactory</CODE> interfaces. |
| * |
| * <P>Some application servers provide support for grouping JTS capable |
| * resource use into a distributed transaction (optional). To include JMS API transactions |
| * in a JTS transaction, an application server requires a JTS aware JMS |
| * provider. A JMS provider exposes its JTS support using an |
| * <CODE>XAConnectionFactory</CODE> object, which an application server uses |
| * to create <CODE>XAConnection</CODE> objects. |
| * |
| * <P><CODE>XAConnectionFactory</CODE> objects are JMS administered objects, |
| * just like <CODE>ConnectionFactory</CODE> objects. It is expected that |
| * application servers will find them using the Java Naming and Directory |
| * Interface (JNDI) API. |
| * |
| *<P>The <CODE>XAConnectionFactory</CODE> interface is optional. JMS providers |
| * are not required to support this interface. This interface is for |
| * use by JMS providers to support transactional environments. |
| * Client programs are strongly encouraged to use the transactional support |
| * available in their environment, rather than use these XA |
| * interfaces directly. |
| * |
| * @version 1.1 April 4, 2002 |
| * @author Mark Hapner |
| * @author Rich Burridge |
| * @author Kate Stout |
| * |
| * @see javax.jms.XAQueueConnectionFactory |
| * @see javax.jms.XATopicConnectionFactory |
| */ |
| |
| public interface XAConnectionFactory { |
| |
| /** Creates an <CODE>XAConnection</CODE> with the default user identity. |
| * The connection is created in stopped mode. No messages |
| * will be delivered until the <code>Connection.start</code> method |
| * is explicitly called. |
| * |
| * @return a newly created <CODE>XAConnection</CODE> |
| * |
| * @exception JMSException if the JMS provider fails to create an XA |
| * connection due to some internal error. |
| * @exception JMSSecurityException if client authentication fails due to |
| * an invalid user name or password. |
| * |
| * @since 1.1 |
| */ |
| |
| XAConnection |
| createXAConnection() throws JMSException; |
| |
| |
| /** Creates an XA connection with the specified user identity. |
| * The connection is created in stopped mode. No messages |
| * will be delivered until the <code>Connection.start</code> method |
| * is explicitly called. |
| * |
| * @param userName the caller's user name |
| * @param password the caller's password |
| * |
| * @return a newly created XA connection |
| * |
| * @exception JMSException if the JMS provider fails to create an XA |
| * connection due to some internal error. |
| * @exception JMSSecurityException if client authentication fails due to |
| * an invalid user name or password. |
| * |
| * @since 1.1 |
| */ |
| |
| XAConnection |
| createXAConnection(String userName, String password) |
| throws JMSException; |
| } |