[ https://issues.apache.org/jira/browse/ARTEMIS-2097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650204#comment-16650204 ]
ASF GitHub Bot commented on ARTEMIS-2097: ----------------------------------------- Github user clebertsuconic commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/2371#discussion_r225165274 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ServerSessionImpl.java --- @@ -1789,6 +1790,11 @@ public synchronized RoutingStatus doSend(final Transaction tx, AddressInfo art = getAddressAndRoutingType(new AddressInfo(msg.getAddressSimpleString(), routingType)); + if (postOffice.isAddressBlocked(msg.getAddressSimpleString())) { --- End diff -- I think the use case here is wrong. With block you just stop sending credits to the client. This becomes fail at this point. We have two options: - If you had previously sent credits to the client.. then you must complete the operations until you have full credits. - or we could hung to these on the server. But that would have a risk of running OME. So I would say we just stop sending credits. > Pause and Block Producers > ------------------------- > > Key: ARTEMIS-2097 > URL: https://issues.apache.org/jira/browse/ARTEMIS-2097 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker > Affects Versions: 1.5.5 > Environment: AMQ-1.5.5 > Reporter: Tyronne Wickramarathne > Assignee: Howard Gao > Priority: Major > Fix For: unscheduled > > > Could it be possible to block all incoming messages without changing the > address-full-policy to 'BLOCK'? > The address full policy can be configured to block incoming messages should > the address full policy reaches the configured max-size-bytes attributes. > However, on certain circumstances it is important to make a JMS destination > drain without accepting incoming messages while keeping the > address-full-policy at 'PAGE'. For an instance, if a user needs to bring down > the broker for maintenance, it is important to allow the user to drain > existing messages in the corresponding destination without accepting any new > messages. > > Currently the pause() method on a destination pauses message consumers. In a > similar fashion could it be possible to add a new method to block message > producers on a given destination irrespective of the address-full-policy > being used? -- This message was sent by Atlassian JIRA (v7.6.3#76005)