Provides a context to do transactional operations; so beginning/committing transactions, but also retrieving transactional data-structures like the TransactionalMap.
More...
#include <transaction_context.h>
Provides a context to do transactional operations; so beginning/committing transactions, but also retrieving transactional data-structures like the TransactionalMap.
- See also
- hazelcast_client::newTransactionContext
Definition at line 60 of file transaction_context.h.
◆ transaction_context()
hazelcast::client::transaction_context::transaction_context |
( |
spi::impl::ClientTransactionManagerServiceImpl & |
transaction_manager, |
|
|
const transaction_options & |
txn_options |
|
) |
| |
Constructor to be used internally.
Not public API.
Definition at line 561 of file transactions.cpp.
562 : options_(txn_options),
564 transaction_manager.connect()),
565 transaction_(options_,
566 transaction_manager.get_client(),
◆ begin_transaction()
boost::future< void > hazelcast::client::transaction_context::begin_transaction |
( |
| ) |
|
Begins a transaction.
- Exceptions
-
illegal_state | if a transaction already is active. |
Definition at line 574 of file transactions.cpp.
575 return transaction_.begin();
◆ commit_transaction()
boost::future< void > hazelcast::client::transaction_context::commit_transaction |
( |
| ) |
|
Commits a transaction.
- Exceptions
-
transaction | if no transaction is active or the transaction could not be committed. |
Definition at line 578 of file transactions.cpp.
579 return transaction_.commit();
◆ get_list()
std::shared_ptr<transactional_list> hazelcast::client::transaction_context::get_list |
( |
const std::string & |
name | ) |
|
|
inline |
Returns the transactional list instance with the specified name.
- Parameters
-
- Returns
- transactional list instance with the specified name
Definition at line 135 of file transaction_context.h.
136 return get_transactional_object<transactional_list>(ilist::SERVICE_NAME, name);
◆ get_map()
std::shared_ptr<transactional_map> hazelcast::client::transaction_context::get_map |
( |
const std::string & |
name | ) |
|
|
inline |
Returns the transactional distributed map instance with the specified name.
- Parameters
-
name | name of the distributed map |
- Returns
- transactional distributed map instance with the specified name
Definition at line 102 of file transaction_context.h.
103 return get_transactional_object<transactional_map>(imap::SERVICE_NAME, name);
◆ get_multi_map()
std::shared_ptr<transactional_multi_map> hazelcast::client::transaction_context::get_multi_map |
( |
const std::string & |
name | ) |
|
|
inline |
Returns the transactional multimap instance with the specified name.
- Parameters
-
- Returns
- transactional multimap instance with the specified name
Definition at line 124 of file transaction_context.h.
125 return get_transactional_object<transactional_multi_map>(multi_map::SERVICE_NAME, name);
◆ get_queue()
std::shared_ptr<transactional_queue> hazelcast::client::transaction_context::get_queue |
( |
const std::string & |
name | ) |
|
|
inline |
Returns the transactional queue instance with the specified name.
- Parameters
-
- Returns
- transactional queue instance with the specified name
Definition at line 113 of file transaction_context.h.
114 return get_transactional_object<transactional_queue>(iqueue::SERVICE_NAME, name);
◆ get_set()
std::shared_ptr<transactional_set> hazelcast::client::transaction_context::get_set |
( |
const std::string & |
name | ) |
|
|
inline |
Returns the transactional set instance with the specified name.
- Parameters
-
- Returns
- transactional set instance with the specified name
Definition at line 146 of file transaction_context.h.
147 return get_transactional_object<transactional_set>(iset::SERVICE_NAME, name);
◆ get_transactional_object()
template<typename T >
std::shared_ptr<T> hazelcast::client::transaction_context::get_transactional_object |
( |
const std::string & |
service_name, |
|
|
const std::string & |
name |
|
) |
| |
|
inline |
get any transactional object with template T.
Mostly to be used by spi implementers of Hazelcast.
- Returns
- transactionalObject.
Definition at line 158 of file transaction_context.h.
159 if (transaction_.get_state() != txn::TxnState::ACTIVE) {
160 std::string message =
"No transaction is found while accessing ";
161 message +=
"transactional object -> [" + name +
"]!";
162 BOOST_THROW_EXCEPTION(
163 exception::illegal_state(
"TransactionContext::getMap(const std::string& name)",
166 auto key = std::make_pair(service_name, name);
167 std::shared_ptr<T> obj = std::static_pointer_cast<T>(txn_object_map_.get(key));
169 obj = std::shared_ptr<T>(
new T(name, transaction_));
170 txn_object_map_.put(key, obj);
◆ get_txn_id()
boost::uuids::uuid hazelcast::client::transaction_context::get_txn_id |
( |
| ) |
const |
- Returns
- txn id.
Definition at line 570 of file transactions.cpp.
571 return transaction_.get_txn_id();
◆ rollback_transaction()
boost::future< void > hazelcast::client::transaction_context::rollback_transaction |
( |
| ) |
|
Begins a transaction.
- Exceptions
-
illegal_state | if a transaction already is active. |
Definition at line 582 of file transactions.cpp.
583 return transaction_.rollback();
The documentation for this class was generated from the following files: