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

    https://github.com/apache/activemq-artemis/pull/1820#discussion_r164166706
  
    --- Diff: 
artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java
 ---
    @@ -698,8 +699,17 @@ private ActiveMQMessageConsumer createConsumer(final 
ActiveMQDestination dest,
                  */
                 if (!response.isExists() || 
!response.getQueueNames().contains(dest.getSimpleAddress())) {
                    if (response.isAutoCreateQueues()) {
    +                  SimpleString queueNameToUse = dest.getSimpleAddress();
    +                  SimpleString addressToUse = queueNameToUse;
    +                  RoutingType routingTypeToUse = RoutingType.ANYCAST;
    +                  if 
(CompositeAddress.isFullyQualified(queueNameToUse.toString())) {
    +                     CompositeAddress compositeAddress = 
CompositeAddress.getQueueName(queueNameToUse.toString());
    +                     addressToUse = new 
SimpleString(compositeAddress.getAddress());
    +                     queueNameToUse = new 
SimpleString(compositeAddress.getQueueName());
    +                     routingTypeToUse = RoutingType.MULTICAST;
    --- End diff --
    
    Sorry, that's not correct vt and shared subscriptions are only similar but 
not equal. Shared subscriptions still need connection to have a clientid. 
Therefor those connections are bounded to a special use case. VTs has queue 
semantic. No "special" connections are needed. Such pooling of connections for 
almost everything sending/consuming/... is possible. Artemis still leaks such a 
feature on its core protocol.


---

Reply via email to