AMQP Specification Transport
AMQP Specification Transport
AMQP Specification Transport
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>AMQP</strong> <strong>Specification</strong>.<br />
Session<br />
4.12.6 Command: 0x0204 (executes an extended command)<br />
Signature: execute( options: map, spec: str8, name: str8, arguments: map )<br />
Executes a command from an extended specification.<br />
Field Details:<br />
options: map<br />
options map (optional)<br />
spec: str8<br />
name: str8<br />
an extended specification (optional)<br />
Identifies the specification that defines the behavior for the command. This is typically a URI<br />
identifying a document that contains the formal definition for all the commands in the<br />
extended specification.<br />
the command name (optional)<br />
Identifies the name of the command within the given specification.<br />
arguments: map<br />
the command arguments (optional)<br />
Carries the command arguments as defined by the identified specification.<br />
4.13 Transactional Sessions<br />
A Transactional Session is one in which one of the two Applications using the Session behaves as a<br />
Transactional Resource, and the other behaves as a Transaction Controller. A Transactional Session must be<br />
in one of two modes: "local" or "distributed". In both modes, the Transaction Controller defines transactional<br />
units of work, and indicates whether each unit of work is a success or failure. On a Session with a txn-mode<br />
of "local", each successful unit of work is immediately committed as a complete transaction, and failed units<br />
of work are immediately rolled back. On a Session with a txn-mode of "distributed", each unit of work is<br />
given an xid and becomes part of a distributed transaction that is externally coordinated.<br />
Applications capable of behaving as a Transactional Resource may advertise this when establishing a<br />
Session by setting the txn-support field of the attach control to "local" or "distributed". Applications that<br />
wish to behave as a Transaction Controller may indicate this and choose the mode for the Transactional<br />
Session by setting the txn-mode field of the attach control when establishing a Session. Only one end of a<br />
Session can be the Transaction Controller. It is an error for both Session endpoints to set the txn-mode field<br />
when when establishing a Session.<br />
The transactional implications of each Command are determined by the semantics of the Transactional<br />
Resource. Some Commands sent from the Transaction Controller to the Transactional Resource may modify<br />
transactional state, while others may not. Likewise, some Commands sent from the Resource to the<br />
Controller may carry information about the transactional state of the Resource, while others may not. The<br />
state of the Command <strong>Transport</strong> itself is not transactional. A Commit or Rollback may negate or confirm the<br />
effects of a Command carried by the <strong>Transport</strong>, but it has no effect on the command-ids, replay-buffers, or<br />
other <strong>Transport</strong> related state that falls within the scope of the transaction.<br />
<strong>AMQP</strong> <strong>Transport</strong> v. 1-0 Page 35 of 83