summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Simon <arnaudsimon@apache.org>2007-06-15 16:44:07 +0000
committerArnaud Simon <arnaudsimon@apache.org>2007-06-15 16:44:07 +0000
commitb912b22ade11cba27111bf42427f57d2c74a61e2 (patch)
tree9aedcb0e25b3f3ec162b1bdb7a5ac28f67314e29
parentf0731c2b5b442dac9366c0475e49dafd38454b40 (diff)
downloadqpid-python-b912b22ade11cba27111bf42427f57d2c74a61e2.tar.gz
remove for changing name
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@547735 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/specs/dtx.0-10-dtx.xml825
1 files changed, 0 insertions, 825 deletions
diff --git a/qpid/specs/dtx.0-10-dtx.xml b/qpid/specs/dtx.0-10-dtx.xml
deleted file mode 100644
index 42bd5f22e1..0000000000
--- a/qpid/specs/dtx.0-10-dtx.xml
+++ /dev/null
@@ -1,825 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
- Copyright Notice
- ================
- (c) Copyright JPMorgan Chase Bank & Co., Cisco Systems, Inc., Envoy Technologies Inc.,
- iMatix Corporation, IONA\ufffd Technologies, Red Hat, Inc.,
- TWIST Process Innovations, and 29West Inc. 2006. All rights reserved.
-
- License
- =======
- JPMorgan Chase Bank & Co., Cisco Systems, Inc., Envoy Technologies Inc., iMatix
- Corporation, IONA Technologies, Red Hat, Inc., TWIST Process Innovations, and
- 29West Inc. (collectively, the "Authors") each hereby grants to you a worldwide,
- perpetual, royalty-free, nontransferable, nonexclusive license to
- (i) copy, display, distribute and implement the Advanced Messaging Queue Protocol
- ("AMQP") Specification and (ii) the Licensed Claims that are held by
- the Authors, all for the purpose of implementing the Advanced Messaging
- Queue Protocol Specification. Your license and any rights under this
- Agreement will terminate immediately without notice from
- any Author if you bring any claim, suit, demand, or action related to
- the Advanced Messaging Queue Protocol Specification against any Author.
- Upon termination, you shall destroy all copies of the Advanced Messaging
- Queue Protocol Specification in your possession or control.
-
- As used hereunder, "Licensed Claims" means those claims of a patent or
- patent application, throughout the world, excluding design patents and
- design registrations, owned or controlled, or that can be sublicensed
- without fee and in compliance with the requirements of this
- Agreement, by an Author or its affiliates now or at any
- future time and which would necessarily be infringed by implementation
- of the Advanced Messaging Queue Protocol Specification. A claim is
- necessarily infringed hereunder only when it is not possible to avoid
- infringing it because there is no plausible non-infringing alternative
- for implementing the required portions of the Advanced Messaging Queue
- Protocol Specification. Notwithstanding the foregoing, Licensed Claims
- shall not include any claims other than as set forth above even if
- contained in the same patent as Licensed Claims; or that read solely
- on any implementations of any portion of the Advanced Messaging Queue
- Protocol Specification that are not required by the Advanced Messaging
- Queue Protocol Specification, or that, if licensed, would require a
- payment of royalties by the licensor to unaffiliated third parties.
- Moreover, Licensed Claims shall not include (i) any enabling technologies
- that may be necessary to make or use any Licensed Product but are not
- themselves expressly set forth in the Advanced Messaging Queue Protocol
- Specification (e.g., semiconductor manufacturing technology, compiler
- technology, object oriented technology, networking technology, operating
- system technology, and the like); or (ii) the implementation of other
- published standards developed elsewhere and merely referred to in the
- body of the Advanced Messaging Queue Protocol Specification, or
- (iii) any Licensed Product and any combinations thereof the purpose or
- function of which is not required for compliance with the Advanced
- Messaging Queue Protocol Specification. For purposes of this definition,
- the Advanced Messaging Queue Protocol Specification shall be deemed to
- include both architectural and interconnection requirements essential
- for interoperability and may also include supporting source code artifacts
- where such architectural, interconnection requirements and source code
- artifacts are expressly identified as being required or documentation to
- achieve compliance with the Advanced Messaging Queue Protocol Specification.
-
- As used hereunder, "Licensed Products" means only those specific portions
- of products (hardware, software or combinations thereof) that implement
- and are compliant with all relevant portions of the Advanced Messaging
- Queue Protocol Specification.
-
- The following disclaimers, which you hereby also acknowledge as to any
- use you may make of the Advanced Messaging Queue Protocol Specification:
-
- THE ADVANCED MESSAGING QUEUE PROTOCOL SPECIFICATION IS PROVIDED "AS IS,"
- AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
- IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE
- CONTENTS OF THE ADVANCED MESSAGING QUEUE PROTOCOL SPECIFICATION ARE
- SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF THE ADVANCED
- MESSAGING QUEUE PROTOCOL SPECIFICATION WILL NOT INFRINGE ANY THIRD PARTY
- PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
-
- THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL,
- INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY
- USE, IMPLEMENTATION OR DISTRIBUTION OF THE ADVANCED MESSAGING QUEUE
- PROTOCOL SPECIFICATION.
-
- The name and trademarks of the Authors may NOT be used in any manner,
- including advertising or publicity pertaining to the Advanced Messaging
- Queue Protocol Specification or its contents without specific, written
- prior permission. Title to copyright in the Advanced Messaging Queue
- Protocol Specification will at all times remain with the Authors.
-
- No other rights are granted by implication, estoppel or otherwise.
-
- Upon termination of your license or rights under this Agreement, you
- shall destroy all copies of the Advanced Messaging Queue Protocol
- Specification in your possession or control.
-
- Trademarks
- ==========
- "JPMorgan", "JPMorgan Chase", "Chase", the JPMorgan Chase logo and the
- Octagon Symbol are trademarks of JPMorgan Chase & Co.
-
- IMATIX and the iMatix logo are trademarks of iMatix Corporation sprl.
-
- IONA, IONA Technologies, and the IONA logos are trademarks of IONA
- Technologies PLC and/or its subsidiaries.
-
- LINUX is a trademark of Linus Torvalds. RED HAT and JBOSS are registered
- trademarks of Red Hat, Inc. in the US and other countries.
-
- Java, all Java-based trademarks and OpenOffice.org are trademarks of
- Sun Microsystems, Inc. in the United States, other countries, or both.
-
- Other company, product, or service names may be trademarks or service
- marks of others.
-
- Links to full AMQP specification:
- =================================
- http://www.envoytech.org/spec/amq/
- http://www.iona.com/opensource/amqp/
- http://www.redhat.com/solutions/specifications/amqp/
- http://www.twiststandards.org/tiki-index.php?page=AMQ
- http://www.imatix.com/amqp
-
--->
-
-<amqp major="8" minor="0" port="5672" comment="AMQ Protocol version 0-8">
-
-<!-- XA constants -->
-<constant name="xa-rbrollback" value="1">
- <doc>The rollback was caused by an unspecified reason.</doc>
-</constant>
-<constant name="xa-rbtimeout" value="2">
- <doc>A transaction branch took too long.</doc>
-</constant>
-<constant name="xa-heurhaz" value="3">
- <doc>The transaction branch may have been heuristically completed.</doc>
-</constant>
-<constant name="xa-heurcom" value="4">
- <doc>The transaction branch has been heuristically committed.</doc>
-</constant>
-<constant name="xa-heurrb" value="5">
- <doc>The transaction branch has been heuristically rolled back.</doc>
-</constant>
-<constant name="xa-heurmix" value="6">
- <doc>The transaction branch has been heuristically committed and rolled back.</doc>
-</constant>
-<constant name="xa-rdonly" value="7">
- <doc>The transaction branch was read-only and has been committed.</doc>
-</constant>
-<constant name="xa-ok" value="8">
- <doc>Normal execution.</doc>
-</constant>
-
-<!-- DTX domains -->
- <domain name = "Xid" type = "longstr" label = "Transaction branch identifier">
- <doc>
- An Xid uniquely identifies a transaction branch.
- </doc>
- <rule name = "implementation">
- <doc>
- Xid contains a format identifier, two length fields and a data field:
- format_id long
- gtrid_length octet
- bqual_length octet
- data
- format_id is an implementation specific format identifier
- the data field is a sequence of octets of at most 128 bytes containing the txn id and the branch id
- gtrid_length field indicates how many bytes of this form the transaction id
- bqual_length field indicates how many bytes of this form the branch id
- The sum of the two lengths must equal the length of the data field
- </doc>
- </rule>
- </domain>
-
- <domain name="field-table" type="table">
- </domain>
-
- <domain name="bit" type="bit" label="single bit">
- </domain>
-
- <domain name="short" type="short" label="16-bit integer">
- </domain>
-
- <domain name="long" type="long" label="32-bit integer">
- </domain>
-
-<!-- dtx-->
-
-<!-- == dtx-demarcation ========================================================== -->
-
-
- <class name = "dtx-demarcation" handler = "channel" index = "100" label = "demarcates distributed transaction branches">
- <doc>
- This class is part of the X-Open XA distributed transaction protocol support. It allows a channel to be
- selected for use with distributed transactions and the transactional boundaries for work on that channel
- to be demarcated.
- </doc>
- <doc type = "grammar">
- dtx-demarcation = C:SELECT S:SELECT-OK *demarcation
-
- demarcation = C:START S:START-OK C:END S:END-OK
- </doc>
-
-
- <chassis name = "server" implement = "MAY" />
- <chassis name = "client" implement = "MAY" />
-
-
- <!-- - - - SELECT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "select" synchronous = "1" index = "10" label = "select distributed transaction mode">
- <doc>
- This method sets the channel to use distributed transactions. The client must use this method at least once on a channel before using XA demarcation operations.
- </doc>
- <chassis name = "server" implement = "MAY" />
- <response name = "select-ok" />
- </method>
-
- <!-- - - - SELECT-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "select-ok" synchronous = "1" index = "11" label = "confirm distributed transaction mode">
- <doc>
- This method confirms to the client that the channel was successfully set to use distributed transactions.
- </doc>
- <chassis name = "client" implement = "MAY" />
- </method>
-
- <!-- - - START - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "start" synchronous = "1" index = "20" label = "Start a transaction branch">
- <doc>
- This method is called when messages should be produced and consumed on behalf a transaction branch identified by xid.
- </doc>
- <chassis name = "server" implement = "MAY" />
- <response name = "start-ok" />
-
-
- <field name = "xid" domain = "Xid" label = "Start any work associated with transaction branch with Xid xid">
- <doc>
- Specifies the xid of the transaction branch to be started.
- </doc>
- <assert check = "notnull" />
- </field>
-
- <field name = "join" domain = "bit" label = "Indicate whether this is joining an already associated Xid">
- <doc>
- Indicate that the start applies to joining a transaction previously seen.
- </doc>
- <assert check = "notnull" />
- </field>
-
- <field name = "resume" domain = "bit" label = "Indicate whether this is resuming a suspended transaction branch">
- <doc>
- Indicate that the start applies to resuming a suspended transaction branch specified.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
- <!-- - - - START-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "start-ok" synchronous = "1" index = "21" label = "confirm distributed transaction start">
- <doc>
- This method confirms to the client that the transaction branch is started or specify the error condition.
- </doc>
- <chassis name = "client" implement = "MAY" />
-
- <field name = "flags" domain = "short" label = "xa-ok or xa-rbrollback">
- <doc>
- xa-ok: Normal execution.
- xa-rbrollback: The broker marked the transaction branch rollback-only for an unspecified reason.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
-
- <!-- - - END - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "end" synchronous = "1" index = "30" label = "End a transaction branch">
- <doc>
- This method is called when the work done on behalf a transaction branch finishes or needs to be suspended.
- </doc>
- <chassis name = "server" implement = "MAY" />
- <response name = "end-ok" />
-
- <field name = "xid" domain = "Xid" label = "End any work associated with transaction branch with Xid xid">
- <doc>
- Specifies the xid of the transaction branch to be ended.
- </doc>
- <assert check = "notnull" />
- </field>
-
- <field name = "fail" domain = "bit" label = "Indicate whether the portion of work has failed">
- <doc>
- Indicates that the portion of work has failed otherwise the portion of work has completed successfully.
- </doc>
- <assert check = "notnull" />
- </field>
-
- <field name = "suspend" domain = "bit" label = "Indicate that the transaction branch is temporarily suspended in an incomplete state">
- <doc>
- Indicates that the transaction branch is temporarily suspended in an incomplete state.
- </doc>
- <assert check = "notnull" />
- </field>
-
- </method>
-
- <!-- - - - END-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "end-ok" synchronous = "1" index = "31" label = "confirm distributed transaction end">
- <doc>
- This method confirms to the client that the transaction branch is ended or specify the error condition.
- </doc>
- <chassis name = "client" implement = "MAY" />
-
- <field name = "flags" domain = "short" label = "xa-ok, xa-rbrollback, xa-rbtimeout">
- <doc>
- xa-ok: Normal execution.
- xa-rbrollback: The broker marked the transaction branch rollback-only for an unspecified reason.
- xa-rbtimeout: The work represented by this transaction branch took too long.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-</class>
-
-
- <!-- == dtx-coordination ========================================================== -->
-
-<class name = "dtx-coordination" handler = "channel" index = "105" label = "coordinate transaction outcomes">
- <doc>
- This class is part of the X-Open XA distributed transaction protocol support.
- It allows the transaction manager to coordinate transaction outcomes.
- </doc>
-
- <doc type = "grammar">
-
- dtx-coordination = *coordination
-
- coordination = command
- / outcome
- / recovery
-
- command = C:SET-TIMEOUT S:SET-TIMEOUT-OK
- / C:GET-TIMEOUT S:GET-TIMEOUT-OK
-
- outcome = one-phase-commit
- / one-phase-rollback
- / two-phase-commit
- / two-phase-rollback
-
- one-phase-commit = C:COMMIT S:COMMIT-OK
-
- one-phase-rollback = C:ROLLBACK S:ROLLBACK-OK
-
- two-phase-commit = C:PREPARE S:PREPARE-OK C:COMMIT S:COMMIT-OK
-
- two-phase-rollback = C:PREPARE S:PREPARE-OK C:ROLLBACK S:ROLLBACK-OK
-
- recovery = C:RECOVER S:RECOVER-OK *recovery-outcome
-
- recovery-outcome = one-phase-commit
- / one-phase-rollback
- / C:FORGET S:FORGET-OK
- </doc>
-
- <chassis name = "server" implement = "MAY" />
- <chassis name = "client" implement = "MAY" />
-
- <rule name = "security">
- <doc>
- Access-tickets are propagated with XA demarcation methods with the aim of
- restricting which users are allowed to control which transactions.
- The server MAY restrict transaction coordination to a particular identity.
- </doc>
- <doc type = "scenario">
- </doc>
- </rule>
-
-
- <!-- - - COMMIT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "commit" synchronous = "1" index = "10" label = "Commit the work done on behalf a transaction branch ">
- <doc>
- This method commits the work associated with xid. Any produced messages are made available and any consumed messages are discarded.
- </doc>
- <chassis name = "server" implement = "MAY" />
- <response name = "commit-ok" />
-
- <rule name = "internalError">
- <doc>
- If an error occurs in committing the transaction branch then the server MUST raise a channel exception with reply code 541 (internal error)
- </doc>
- </rule>
-
- <rule name = "commandInvalid">
- <doc>
- If the method is invoked in an improper context (see class grammar) then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
-
- <field name = "xid" domain = "Xid" label = "Commit the work associated with Xid xid">
- <doc>
- Specifies the Xid of the transaction branch to be committed.
- </doc>
- <assert check = "notnull" />
- <!-- rules -->
- <rule name = "unknownXid">
- <doc>
- If Xid is unknown (the transaction branch has not been started or has already been ended) then the server MUST raise a channel exception with reply code 404 (not found).
- </doc>
- </rule>
- <rule name = "notdisassociated">
- <doc>
- If this method is called when Xid is still associated with a channel then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
- </field>
-
- <field name = "one-phase" domain = "bit" label = "Indicate that one-phase optimization must be used">
- <doc>
- When set then one-phase commit optimization is used.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
- <!-- - - - COMMIT-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "commit-ok" synchronous = "1" index = "11" label = "confirm distributed transaction commit">
- <doc>
- This method confirms to the client that the transaction branch is committed or specify the error condition.
- </doc>
- <chassis name = "client" implement = "MAY" />
-
- <field name = "flags" domain = "short" label = "xa-ok, xa-heurhaz, xa-heurcom, xa-heurrb, xa-heurmix, xa-rbrollback">
- <doc>
- xa-ok: Normal execution,
- xa-heurhaz: Due to some failure, the work done on behalf of the specified transaction branch may have been heuristically completed.
- xa-heurcom: Due to a heuristic decision, the work done on behalf of the specified transaction
- branch was committed.
- xa-heurrb: Due to a heuristic decision, the work done on behalf of the specified transaction
- branch was rolled back.
- xa-heurmix: Due to a heuristic decision, the work done on behalf of the specified transaction
- branch was partially committed and partially rolled back.
- xa-rbrollback: The broker marked the transaction branch rollback-only for an unspecified reason.
- xa-rbtimeout: The work represented by this transaction branch took too long.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
-
- <!-- - - FORGET - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "forget" synchronous = "1" index = "20" label = "Discard knowledge of a heuristically-completed transaction branch">
- <doc>
- This method is called to forget about a heuristically completed transaction branch.
- </doc>
- <chassis name = "server" implement = "MAY" />
- <response name = "forget-ok" />
-
- <rule name = "internalError ">
- <doc>
- If an error occurs in forgetting the transaction branch then the server MUST raise a channel exception with reply code 541 (internal error)
- </doc>
- </rule>
-
- <rule name = "commandInvalid ">
- <doc>
- If the method is invoked in an improper context (see class grammar) then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
-
- <field name = "xid" domain = "Xid" label = "Erase RM its knowledge of Xid xid">
- <doc>
- Specifies the xid of the transaction branch to be forgotten.
- </doc>
- <assert check = "notnull" />
- <!-- rules -->
- <rule name = "unknownXid">
- <doc>
- If Xid is unknown (the transaction branch has not been started or has already been ended) then the server MUST raise a channel exception with reply code 404 (not found).
- </doc>
- </rule>
- <rule name = "notdisassociated">
- <doc>
- If this method is called when Xid is still associated with a channel then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
- </field>
- </method>
-
- <!-- - - - FORGET-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "forget-ok" synchronous = "1" index = "21" label = "Confirm distributed transaction forget">
- <doc>
- This method confirms to the client that the transaction branch is forgotten or specify the error condition.
- </doc>
- <chassis name = "client" implement = "MAY" />
- </method>
-
- <!-- - - - get-Timeout - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "get-timeout" synchronous = "1" index = "30" label = "Obtain the transaction timeout value in seconds">
- <doc>
- This method obtains the current transaction timeout value in seconds.
- If setTimeout was not used prior to invoking this method, the return value is the default timeout; otherwise, the value used in the previous setTimeout call is returned.
- </doc>
- <chassis name = "server" implement = "MAY" />
- <response name = "get-timeout-ok" />
-
-
- <field name = "xid" domain = "Xid" label = "Xid of the branch to get the timeout value">
- <doc>
- Specifies the Xid of the transaction branch for getting the timeout.
- </doc>
- <assert check = "notnull" />
- <!-- rules -->
- <rule name = "unknownXid">
- <doc>
- If Xid is unknown (the transaction branch has not been started or has already been ended) then the server MUST raise a channel exception with reply code 404 (not found).
- </doc>
- </rule>
- </field>
-
- <rule name = "internalError ">
- <doc>
- If an error occurs in setting the transaction timeout then the server MUST raise a channel exception with reply code 541 (internal error)
- </doc>
- </rule>
- </method>
-
- <!-- - - - get-Timeout-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "get-timeout-ok" synchronous = "1" index = "31" label = "Return transaction timeout">
- <doc>
- This method returns the current transaction timeout value in seconds.
- </doc>
- <chassis name = "client" implement = "MAY" />
-
- <field name = "timeout" domain = "long" label = "The current transaction timeout value">
- <doc>
- The current transaction timeout value in seconds.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
- <!-- - - PREPARE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "prepare" synchronous = "1" index = "40" label = "Ask to prepare a transaction branch">
- <doc>
- This method prepares for commitment any message produced or consumed on behalf of xid.
- </doc>
-
- <rule name = "internalError">
- <doc>
- If an error occurs in preparing the transaction branch then the server MUST raise a channel exception with reply code 541 (internal error). The specified Xid may or may not have been prepared.
- </doc>
- </rule>
-
- <rule name = "commandInvalid">
- <doc>
- If the method is invoked in an improper context (see class grammar) then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
-
- <rule name = "obligation1">
- <doc>
- Once this method successfully returns it is guaranteed that the transaction branch may be either
- committed or rolled back regardless of failures.
- </doc>
- </rule>
-
- <rule name = "obligation2">
- <doc>
- The knowledge of xid cannot be erased before commit or rollback complete the branch.
- </doc>
- </rule>
-
- <chassis name = "server" implement = "MAY" />
- <response name = "prepare-ok" />
-
- <field name = "xid" domain = "Xid" label = "Prepare for commitment any work associated with Xid xid">
- <doc>
- Specifies the Xid of the transaction branch that can be prepared.
- </doc>
- <assert check = "notnull" />
- <!-- rules -->
- <rule name = "unknownXid">
- <doc>
- If Xid is unknown (the transaction branch has not been started or has already been ended) then the server MUST raise a channel exception with reply code 404 (not found).
- </doc>
- </rule>
- <rule name = "notdisassociated">
- <doc>
- If this method is called when Xid is still associated with a channel then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
- </field>
- </method>
-
-
- <!-- - - - PREPARE-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "prepare-ok" synchronous = "1" index = "41" label = "confirm distributed transaction prepare">
- <doc>
- This method confirms to the client that the transaction branch is prepared or specify the error condition.
- </doc>
- <chassis name = "client" implement = "MAY" />
-
- <field name = "flags" domain = "short" label = "xa-ok, xa-rdonly, xa-rbrollback, xa-rbtimeout">
- <doc>
- xa-ok: Normal execution.
- xa-rdonly: The transaction branch was read-only and has been committed.
- xa-rbrollback: The broker marked the transaction branch rollback-only for an unspecified reason.
- xa-rbtimeout: The work represented by this transaction branch took too long.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
-
- <!-- - - RECOVER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "recover" synchronous = "1" index = "50" label = "Get a list of Xids the RM has prepared or heuristically completed">
- <doc>
- This method is called to obtain a list of transaction branches that are in a
- prepared or heuristically completed state.
- </doc>
-
- <rule name = "internalError ">
- <doc>
- If an error occurs in recovering then the server MUST raise a channel exception with reply code 541 (internal error)
- </doc>
- </rule>
-
- <rule name = "startEnd">
- <doc>
- If this endscan is used in conjunction with startscan then a single call starts and then ends a scan.
- </doc>
- </rule>
-
- <rule name = "mustBeStarted">
- <doc>
- If none of endscan and startscan are set then a recovery scan must already be started otherwise the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
-
- <chassis name = "server" implement = "MAY" />
- <response name = "recover-ok" />
-
-
- <field name = "startscan" domain = "bit" label = "Indicates that recovery scan should start">
- <doc>
- Indicates that recovery scan should start.
- </doc>
- <rule name = "recoveryAlreadyOpen">
- <doc>
- If a recovery scan is already open, the effect is as if the recovery scan were ended and then restarted.
- </doc>
- </rule>
- <assert check = "notnull" />
- </field>
-
- <field name = "endscan" domain = "long" label = "indicates that the recovery scan should end after returning the Xids">
- <doc>
- Indicates that the recovery scan should end after returning the Xids.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
-
- <!-- - - RECOVER-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "recover-ok" synchronous = "1" index = "51" label = "list of Xids to be recovered">
- <doc>
- Returns to the client a table with single item that is a sequence of transaction Xids that are in a prepared or heuristically completed state.
- </doc>
-
- <chassis name = "client" implement = "MAY" />
-
- <field name = "in-doubt" domain = "field-table" label = "Table containing the sequence of xids to be recovered">
- <doc>
- Xids that are in a prepared or heuristically completed state.
- </doc>
- <rule name = "sequenceOfXids">
- <doc>
- The field table must contain a field called 'xids' of type sequence of longstrs representing the Xids that are in a prepared or heuristically completed state.
- </doc>
- </rule>
- <assert check = "notnull" />
- </field>
- </method>
-
-
- <!-- - - ROLLBACK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "rollback" synchronous = "1" index = "60" label = "Rollback a transaction branch">
- <doc>
- This method rolls back the work associated with xid. Any produced messages are discarded
- and any consumed messages are re-enqueued.
- </doc>
-
- <rule name = "internalError">
- <doc>
- If an error occurs in rolling back the transaction branch then the server MUST raise a channel exception with reply code 541 (internal error)
- </doc>
- </rule>
-
- <rule name = "commandInvalid">
- <doc>
- If the method is invoked in an improper context (see class grammar) then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
-
- <chassis name = "server" implement = "MAY" />
- <response name = "rollback-ok" />
-
- <field name = "xid" domain = "Xid" label = "Rollback any work associated with Xid xid">
- <doc>
- Specifies the Xid of the transaction branch that can be rolled back.
- </doc>
- <assert check = "notnull" />
- <!-- rules -->
- <rule name = "unknownXid">
- <doc>
- If Xid is unknown (the transaction branch has not been started or has already been ended) then the server MUST raise a channel exception with reply code 404 (not found).
- </doc>
- </rule>
- <rule name = "notdisassociated">
- <doc>
- If this method is called when Xid is still associated with a channel then the server MUST raise a channel exception with reply code 503 (command invalid)
- </doc>
- </rule>
- </field>
- </method>
-
- <!-- - - - ROLLBACK-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "rollback-ok" synchronous = "1" index = "61" label = "confirm distributed transaction rollback">
- <doc>
- This method confirms to the client that the transaction branch is rolled back or specify the error condition.
- </doc>
- <chassis name = "client" implement = "MAY" />
-
- <field name = "flags" domain = "short" label = "xa-ok, xa-heurhaz, xa-heurcom, xa-heurrb, xa-heurmix, xa-rbrollback">
- <doc>
- xa-ok: Normal execution,
- xa-heurhaz: Due to some failure, the work done on behalf of the specified transaction branch may have been heuristically completed.
- xa-heurcom: Due to a heuristic decision, the work done on behalf of the specified transaction
- branch was committed.
- xa-heurrb: Due to a heuristic decision, the work done on behalf of the specified transaction
- branch was rolled back.
- xa-heurmix: Due to a heuristic decision, the work done on behalf of the specified transaction
- branch was partially committed and partially rolled back.
- xa-rbrollback: The broker marked the transaction branch rollback-only for an unspecified reason.
- xa-rbtimeout: The work represented by this transaction branch took too long.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
-
- <!-- - - SETTIMEOUT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "set-timeout" synchronous = "1" index = "70" label = "Set the transaction timeout value">
- <doc>
- Sets the specified transaction branch timeout value in seconds.
- </doc>
-
- <rule name = "internalError ">
- <doc>
- If an error occurs in setting the transaction timeout then the server MUST raise a channel exception with reply code 541 (internal error)
- </doc>
- </rule>
-
- <rule name = "effective">
- <doc>
- Once set, this timeout value is effective until this method is reinvoked with a different value.
- </doc>
- </rule>
-
- <rule name = "reset">
- <doc>
- A value of zero resets the timeout value to the default value.
- </doc>
- </rule>
-
- <chassis name = "server" implement = "MAY" />
- <response name = "set-timeout-ok" />
-
- <field name = "xid" domain = "Xid" label = "Xid of the branch to set the timeout value">
- <doc>
- Specifies the Xid of the transaction branch for setting the timeout.
- </doc>
- <assert check = "notnull" />
- <!-- rules -->
- <rule name = "unknownXid">
- <doc>
- If Xid is unknown (the transaction branch has not been started or has already been ended) then the server MUST raise a channel exception with reply code 404 (not found).
- </doc>
- </rule>
- </field>
-
- <field name = "timeout" domain = "long" label = "The transaction timeout value in seconds">
- <doc>
- The transaction timeout value in seconds.
- </doc>
- <assert check = "notnull" />
- </field>
- </method>
-
- <!-- - - - SETTIMEOUT-OK - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
-
- <method name = "set-timeout-ok" synchronous = "1" index = "71" label = "confirm timeout set">
- <doc>
- This method confirms that the timeout has been set.
- </doc>
- <chassis name = "client" implement = "MAY" />
- </method>
-</class>
-</amqp> \ No newline at end of file