activemq-cpp-3.9.5
ActiveMQXASessionKernel.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _ACTIVEMQ_CORE_KERNELS_ACTIVEMQXASESSIONKERNEL_H_
19#define _ACTIVEMQ_CORE_KERNELS_ACTIVEMQXASESSIONKERNEL_H_
20
22
23#include <cms/XASession.h>
25
26namespace activemq {
27namespace core {
28namespace kernels {
29
30 using decaf::lang::Pointer;
31
32 class AMQCPP_API ActiveMQXASessionKernel : public cms::XASession, public ActiveMQSessionKernel {
33 public:
34
36 const Pointer<commands::SessionId>& sessionId,
37 const decaf::util::Properties& properties);
38
40
41 public: // Override ActiveMQSessionKernel methods to make them XA Aware
42
43 virtual bool isTransacted() const;
44
45 virtual bool isAutoAcknowledge() const;
46
47 virtual void doStartTransaction();
48
49 virtual void commit();
50
51 virtual void rollback();
52
53 public: // XASession overrides
54
56
57 };
58
59}}}
60
61#endif /* _ACTIVEMQ_CORE_KERNELS_ACTIVEMQXASESSIONKERNEL_H_ */
#define AMQCPP_API
Definition Config.h:30
Concrete connection used for all connectors to the ActiveMQ broker.
Definition ActiveMQConnection.h:62
ActiveMQConnection * connection
Connection.
Definition ActiveMQSessionKernel.h:89
virtual cms::XAResource * getXAResource() const
Returns the XA resource associated with this Session to the caller.
virtual void commit()
Commits all messages done in this transaction and releases any locks currently held.
virtual bool isTransacted() const
Gets if the Sessions is a Transacted Session.
virtual void rollback()
Rolls back all messages done in this transaction and releases any locks currently held.
virtual void doStartTransaction()
Starts if not already start a Transaction for this Session.
ActiveMQXASessionKernel(ActiveMQConnection *connection, const Pointer< commands::SessionId > &sessionId, const decaf::util::Properties &properties)
The XAResource interface is a CMS mapping of the industry standard XA interface based on the X/Open C...
Definition XAResource.h:44
The XASession interface extends the capability of Session by adding access to a CMS provider's suppor...
Definition XASession.h:54
Decaf's implementation of a Smart Pointer that is a template on a Type and is Thread Safe if the defa...
Definition Pointer.h:53
Java-like properties class for mapping string names to string values.
Definition Properties.h:53
Definition ActiveMQQueueBrowser.h:37
Definition ActiveMQTempDestination.h:29
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition CachedConsumer.h:24