michaelandrepearce commented on a change in pull request #2794: ARTEMIS-2451 
limit size of destination cache
URL: https://github.com/apache/activemq-artemis/pull/2794#discussion_r313734672
 
 

 ##########
 File path: 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TemporaryDestinationTest.java
 ##########
 @@ -266,6 +266,24 @@ public void testForTempQueueTargetInfosSizeLimit() throws 
Exception {
       }
    }
 
+   @Test
+   public void testForKnownAddressSizeLimit() throws Exception {
+      try {
+         conn = createConnection();
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         for (int i = 0; i < 200; i++) {
+            TemporaryQueue temporaryQueue = s.createTemporaryQueue();
+            MessageProducer producer = s.createProducer(temporaryQueue);
+            producer.send(s.createMessage());
+         }
+         assertTrue(((ActiveMQConnection)conn).getKnownDestinations().size() 
<= 100);
 
 Review comment:
   An alternative solution to this problem is remove knownDestination entirely, 
and have a reference to the session & connection in the Destination itself, and 
then it will no longer be needed, as we can do the check directly on the 
destination, e.g. something like
      ` jbdest.getConnection == connection`
   
   Removing the need for the set / cache for this check

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to