[ 
https://issues.apache.org/jira/browse/ARTEMIS-1987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16554622#comment-16554622
 ] 

ASF GitHub Bot commented on ARTEMIS-1987:
-----------------------------------------

Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/2191#discussion_r204860714
  
    --- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionQueueQueryResponseMessage_V4.java
 ---
    @@ -0,0 +1,151 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements. See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License. You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.activemq.artemis.core.protocol.core.impl.wireformat;
    +
    +import org.apache.activemq.artemis.api.core.ActiveMQBuffer;
    +import org.apache.activemq.artemis.api.core.RoutingType;
    +import org.apache.activemq.artemis.api.core.SimpleString;
    +import org.apache.activemq.artemis.api.core.client.ActiveMQClient;
    +import org.apache.activemq.artemis.api.core.client.ClientSession;
    +import org.apache.activemq.artemis.core.client.impl.QueueQueryImpl;
    +import org.apache.activemq.artemis.core.server.QueueQueryResult;
    +
    +public class SessionQueueQueryResponseMessage_V4 extends 
SessionQueueQueryResponseMessage_V3 {
    +
    +   protected int defaultConsumerWindowSize;
    +
    +   public SessionQueueQueryResponseMessage_V4(final QueueQueryResult 
result) {
    +      this(result.getName(), result.getAddress(), result.isDurable(), 
result.isTemporary(), result.getFilterString(), result.getConsumerCount(), 
result.getMessageCount(), result.isExists(), result.isAutoCreateQueues(), 
result.isAutoCreated(), result.isPurgeOnNoConsumers(), result.getRoutingType(), 
result.getMaxConsumers(), result.isExclusive(), result.isLastValue(), 
result.getDefaultConsumerWindowSize());
    --- End diff --
    
    @cshannon just wondering.. wouldn't be worth to invest here to return a 
hashMap instead? 
    
    We keep creating V4, V5... if we start using a Map, we wouldn't need to 
change the wire for this ever again.


> Support configuring a default consumer window size via Address Settings
> -----------------------------------------------------------------------
>
>                 Key: ARTEMIS-1987
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1987
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 2.6.2
>            Reporter: Christopher L. Shannon
>            Assignee: Christopher L. Shannon
>            Priority: Major
>             Fix For: 2.7.0
>
>
> In ActiveMQ 5.x a very useful feature is the ability to configure a prefetch 
> in a policy which then gets negotiated with an OpenWire client.  This allows 
> changing the default prefetch setting by destination which is important 
> because different destinations will have different message types and data 
> flows.  It's very useful to be able to configure it on the broker so that 
> each client doesn't need to configure their side and an administrator can set 
> a reasonable default (where the broker is shared by multiple 
> clients/customers)
> To do this in Artemis I'm proposing creating a new window size negotiation as 
> part of the consumer creation.  Essentially the address can be configured 
> with a different default window size if desired and if the client does not 
> set the window size then the new configured default will be sent to the 
> client which can be used instead of the standard 1 MiB.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to