[
https://issues.apache.org/jira/browse/ARTEMIS-1987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16554806#comment-16554806
]
ASF GitHub Bot commented on ARTEMIS-1987:
-----------------------------------------
Github user michaelandrepearce commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2191#discussion_r204915141
--- 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 --
By the way there is no need for a new version with this change if the new
param is added at the end and is nullable (aka Integer) old clients simply wont
read it and new ones will, for new clients they just need to check if still
readable bytes to keep client compatible to older broker. See last change when
we added exclusive how it was done.
I would request this change before merge btw.
> 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)