MCPcopy Create free account
hub / github.com/apache/qpid-proton / TxRecv

Class TxRecv

python/examples/tx_recv_interactive.py:27–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25
26
27class TxRecv(MessagingHandler, TransactionHandler):
28 def __init__(self):
29 super(TxRecv, self).__init__(prefetch=0, auto_accept=False)
30
31 def on_start(self, event):
32 self.container = event.container
33 self.conn = self.container.connect("localhost:5672")
34 self.receiver = self.container.create_receiver(self.conn, "examples")
35 self.container.declare_transaction(self.conn, handler=self, settle_before_discharge=True)
36 self.transaction = None
37
38 def on_message(self, event):
39 print(event.message.body)
40 self.transaction.accept(event.delivery)
41
42 def on_transaction_declared(self, event):
43 self.transaction = event.transaction
44 print("transaction declared")
45
46 def on_transaction_committed(self, event):
47 print("transaction committed")
48 self.container.declare_transaction(self.conn, handler=self)
49
50 def on_transaction_aborted(self, event):
51 print("transaction aborted")
52 self.container.declare_transaction(self.conn, handler=self)
53
54 def on_commit(self, event):
55 self.transaction.commit()
56
57 def on_abort(self, event):
58 self.transaction.abort()
59
60 def on_fetch(self, event):
61 self.receiver.flow(1)
62
63 def on_quit(self, event):
64 c = self.receiver.connection
65 self.receiver.close()
66 c.close()
67
68
69try:

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected