Github user michaelandrepearce commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2467#discussion_r242788099
--- Diff:
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/ProtonServerSenderContext.java
---
@@ -469,20 +530,17 @@ public void close(ErrorCondition condition) throws
ActiveMQAMQPException {
sender.setCondition(condition);
}
protonSession.removeSender(sender);
- connection.lock();
- try {
- sender.close();
- } finally {
- connection.unlock();
- }
- connection.flush();
- try {
- sessionSPI.closeSender(brokerConsumer);
- } catch (Exception e) {
- log.warn(e.getMessage(), e);
- throw new ActiveMQAMQPInternalErrorException(e.getMessage());
- }
+ connection.runLater(() -> {
+ sender.close();
+ try {
+ sessionSPI.closeSender(brokerConsumer);
+ } catch (Exception e) {
+ log.warn(e.getMessage(), e);
--- End diff --
Static logger method needed
---