Issue 3784: register_resource & SubTransactionAwareResource (ots-rtf) Source: IONA (Mr. Matthew Newhook, ) Nature: Uncategorized Issue Severity: Summary: I'm confused by the behaviour of register_resource with respect to the SubtransactionAwareResource interface. From 99-10-07.pdf: "If the resource is a subtransaction aware resource (it supports the SubtransactionAwareResource interface) and the transaction associated with the target object is a subtransaction, then this operation registers the specified resource with the subtransaction and indirectly with the top-level transaction when the subtransaction’s ancestors have completed. Otherwise, the resource is registered as a participant in the current transaction. If the current transaction is a subtransaction, the resource will not receive prepare or commit requests until the top-level ancestor terminates." This seems to vaguely say that the resource will be registered as a SubtransactionAwareResource with if the current transaction is a subtransaction. However, later in the second paragraph of 10.3.9: "Certain recoverable objects may want a finer control over the registration in the completion of a subtransaction. These recoverable objects will use the register_resource operation to ensure participation in the completion of the top-level transaction and they will use the register_subtran_aware operation to be notified of the completion of a particular subtransaction." This says pretty clearly that the application has to call both register_resource and register_subtran_aware to be registered as a resource in the transaction and to receive commit_subtransaction/rollback_subtransaction callbacks. What is the intended behaviour? Resolution: Revised Text: Actions taken: August 14, 2000: received issue Discussion: End of Annotations:===== Date: Mon, 14 Aug 2000 13:10:44 -0230 From: Matthew Newhook To: ots-rtf@omg.org Subject: register_resource & SubTransactionAwareResource Message-ID: <20000814131044.A2019@ooc.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailer: Mutt 1.0pre3us Content-Type: text/plain; charset=iso-8859-1 X-UIDL: MBj!!+\N!!WIJ!!9*a!! Hi, I'm confused by the behaviour of register_resource with respect to the SubtransactionAwareResource interface. From 99-10-07.pdf: "If the resource is a subtransaction aware resource (it supports the SubtransactionAwareResource interface) and the transaction associated with the target object i completed. Otherwise, the resource is registered as a participant in the current transaction. If the current transaction is a subtransaction, the resource will not receive prepare or commit requests until the top-level ancestor terminates." This seems to vaguely say that the resource will be registered as a SubtransactionAwareResource with if the current transaction is a subtransaction. However, later in the second paragraph of 10.3.9: "Certain recoverable objects may want a finer control over the registration in the completion of a subtransaction. These recoverable objects will use the register_resource operation to ensure participation in the completion of the top-level transaction and they will use the register_subtran_aware operation to be notified of the completion of a particular subtransaction." This says pretty clearly that the application has to call both register_resource and register_subtran_aware to be registered as a resource in the transaction and to receive commit_subtransaction/rollback_subtransaction callbacks. What is the intended behaviour? Regards, Matthew -- Matthew Newhook E-Mail: mailto:matthew@ooc.com Software Designer WWW: http://www.ooc.com Object Oriented Concepts, Inc. Phone: (709) 738-3725 s a subtransaction, then this operation registers the specified resource with the subtransaction and indirectly with the top-level transaction when the subtransactio