[ https://issues.apache.org/jira/browse/PROTON-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17156896#comment-17156896 ]
Gordon Sim commented on PROTON-2251: ------------------------------------ As a workaround you can {{'raise Released()'}} instead of invoking the {{release()}} method > [python binding] MessagingHandler release function does not release message > --------------------------------------------------------------------------- > > Key: PROTON-2251 > URL: https://issues.apache.org/jira/browse/PROTON-2251 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding > Affects Versions: proton-c-0.31.0 > Environment: Proton master@4a22a; Python 3.7.7; Fedora 31 > Reporter: Charles E. Rolke > Priority: Major > > Documentation suggests that in a MessagingHandler on_message callback the > user may call `self.release(event.delivery)` to release the message. Using > this function the messages are still accepted. A modified > helloworld_direct.py output is: > {code:java} > > python helloworld_direct.py > Hello World! > Releasing that message > on_accepted > {code} > The source is > {code:java} > from __future__ import print_function, unicode_literals > from proton import Message > from proton.handlers import MessagingHandler > from proton.reactor import Container > class HelloWorld(MessagingHandler): > def __init__(self, url): > super(HelloWorld, self).__init__() > self.url = url > self.sent = False > def on_start(self, event): > self.acceptor = event.container.listen(self.url) > event.container.create_sender(self.url) > def on_sendable(self, event): > if not self.sent: > self.sent = True > event.sender.send(Message(body="Hello World!")) > def on_message(self, event): > print(event.message.body) > print("Releasing that message") > self.release(event.delivery) > def on_accepted(self, event): > print("on_accepted") > event.connection.close() > def on_released(self, event): > print("on_released") > event.connection.close() > def on_connection_closed(self, event): > self.acceptor.close() > Container(HelloWorld("localhost:8888/examples")).run() > {code} > -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org