PROTON-1592: [python] tx_recv.py raises exception.

Fixed the example: starting a transactional internally opens a sending link for
transactional commands. The example was coded on the assumption that the only
link being opened was its own receiver link, which is incorrect.


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/198664fc
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/198664fc
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/198664fc

Branch: refs/heads/master
Commit: 198664fc8e0273d4eab9f6d6f73df20114080a8c
Parents: 1bb1897
Author: Alan Conway <acon...@redhat.com>
Authored: Tue Oct 10 13:07:20 2017 -0400
Committer: Alan Conway <acon...@redhat.com>
Committed: Wed Oct 11 22:04:42 2017 -0400

----------------------------------------------------------------------
 examples/python/tx_recv.py | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/198664fc/examples/python/tx_recv.py
----------------------------------------------------------------------
diff --git a/examples/python/tx_recv.py b/examples/python/tx_recv.py
index 4baddcf..7c0b7cc 100755
--- a/examples/python/tx_recv.py
+++ b/examples/python/tx_recv.py
@@ -40,6 +40,12 @@ class TxRecv(MessagingHandler, TransactionHandler):
         self.container.declare_transaction(self.conn, handler=self)
         self.transaction = None
 
+    def on_link_opened(self, event):
+        # NOTE: a transactional client opens an internal sender link for 
transaction commands,
+        # which we want to ignore.
+        if event.receiver:
+            event.receiver.drain_mode = True
+
     def on_message(self, event):
         print(event.message.body)
         self.transaction.accept(event.delivery)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to