01 /* Licensed to the Apache Software Foundation (ASF) under one
02 * or more contributor license agreements. See the NOTICE file
03 * distributed with this work for additional information
04 * regarding copyright ownership. The ASF licenses this file
05 * to you under the Apache License, Version 2.0 (the
06 * "License"); you may not use this file except in compliance
07 * with the License. You may obtain a copy of the License at
08 *
09 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing,
12 * software distributed under the License is distributed on an
13 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 * KIND, either express or implied. See the License for the
15 * specific language governing permissions and limitations
16 * under the License.
17 */
18 package org.apache.qpid.client;
19
20 import org.apache.qpid.jms.ConnectionURL;
21 import org.apache.qpid.AMQException;
22
23 import javax.jms.*;
24
25 /**
26 * This class implements the javax.njms.XAConnection interface
27 */
28 public class XAConnectionImpl extends AMQConnection implements XAConnection, XAQueueConnection, XATopicConnection
29 {
30 //-- constructor
31 /**
32 * Create a XAConnection from a connectionURL
33 */
34 public XAConnectionImpl(ConnectionURL connectionURL, SSLConfiguration sslConfig) throws AMQException
35 {
36 super(connectionURL, sslConfig);
37 }
38
39 //-- interface XAConnection
40 /**
41 * Creates an XASession.
42 *
43 * @return A newly created XASession.
44 * @throws JMSException If the XAConnectiono fails to create an XASession due to
45 * some internal error.
46 */
47 public synchronized XASession createXASession() throws JMSException
48 {
49 checkNotClosed();
50 return _delegate.createXASession(_maxPrefetch, _maxPrefetch / 2);
51 }
52
53 //-- Interface XAQueueConnection
54 /**
55 * Creates an XAQueueSession.
56 *
57 * @return A newly created XASession.
58 * @throws JMSException If the XAQueueConnectionImpl fails to create an XASession due to
59 * some internal error.
60 */
61 public XAQueueSession createXAQueueSession() throws JMSException
62 {
63 return (XAQueueSession) createXASession();
64 }
65
66 //-- Interface XATopicConnection
67 /**
68 * Creates an XAQueueSession.
69 *
70 * @return A newly created XASession.
71 * @throws JMSException If the XAQueueConnectionImpl fails to create an XASession due to
72 * some internal error.
73 */
74 public XATopicSession createXATopicSession() throws JMSException
75 {
76 return (XATopicSession) createXASession();
77 }
78 }
|