This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch development
in repository https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git


The following commit(s) were added to refs/heads/development by this push:
     new 747bdab  ARTEMIS-5422 Update examples to avoid intermittent failures
747bdab is described below

commit 747bdabc5461c2e80a85c56f982458f097401aaf
Author: Timothy Bish <[email protected]>
AuthorDate: Sat Apr 12 09:06:00 2025 -0400

    ARTEMIS-5422 Update examples to avoid intermittent failures
    
    Allow some time for the federation links to form before sending topic
    messages otherwise the examples will fail
---
 .../jms/example/BrokerFederationExample.java       | 24 ++++++++++++----------
 .../jms/example/BrokerFederationExample.java       | 24 ++++++++++++----------
 2 files changed, 26 insertions(+), 22 deletions(-)

diff --git 
a/examples/features/broker-connection/amqp-federation-over-ssl/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
 
b/examples/features/broker-connection/amqp-federation-over-ssl/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
index 0ed3dd2..7d972de 100644
--- 
a/examples/features/broker-connection/amqp-federation-over-ssl/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
+++ 
b/examples/features/broker-connection/amqp-federation-over-ssl/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
@@ -59,21 +59,12 @@ public class BrokerFederationExample {
       final Topic ordersTopic = sessionOnServer0.createTopic("orders");
       final Queue trackingQueue = sessionOnServer1.createQueue("tracking");
 
-      // Federation from server1 back to server0 on the orders address
-      final MessageProducer ordersProducerOn1 = 
sessionOnServer1.createProducer(ordersTopic);
+      // Create consumers which generate demand on tracked resources and 
create federation links
       final MessageConsumer ordersConsumerOn0 = 
sessionOnServer0.createConsumer(ordersTopic);
-
-      final TextMessage orderMessageSent = 
sessionOnServer1.createTextMessage("new-order");
-
-      ordersProducerOn1.send(orderMessageSent);
-
-      final TextMessage orderMessageReceived = (TextMessage) 
ordersConsumerOn0.receive(5_000);
-
-      System.out.println("Consumer on server 0 received order message from 
producer on server 1 " + orderMessageReceived.getText());
+      final MessageConsumer trackingConsumerOn1 = 
sessionOnServer1.createConsumer(trackingQueue);
 
       // Federation from server0 to server1 on the tracking queue
       final MessageProducer trackingProducerOn0 = 
sessionOnServer0.createProducer(trackingQueue);
-      final MessageConsumer trackingConsumerOn1 = 
sessionOnServer1.createConsumer(trackingQueue);
 
       final TextMessage trackingMessageSent = 
sessionOnServer0.createTextMessage("new-tracking-data");
 
@@ -82,5 +73,16 @@ public class BrokerFederationExample {
       final TextMessage trackingMessageReceived = (TextMessage) 
trackingConsumerOn1.receive(5_000);
 
       System.out.println("Consumer on server 1 received tracking data from 
producer on server 0 " + trackingMessageReceived.getText());
+
+      // Federation from server1 back to server0 on the orders address
+      final MessageProducer ordersProducerOn1 = 
sessionOnServer1.createProducer(ordersTopic);
+
+      final TextMessage orderMessageSent = 
sessionOnServer1.createTextMessage("new-order");
+
+      ordersProducerOn1.send(orderMessageSent);
+
+      final TextMessage orderMessageReceived = (TextMessage) 
ordersConsumerOn0.receive(5_000);
+
+      System.out.println("Consumer on server 0 received order message from 
producer on server 1 " + orderMessageReceived.getText());
    }
 }
diff --git 
a/examples/features/broker-connection/amqp-federation/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
 
b/examples/features/broker-connection/amqp-federation/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
index a590f02..a79f640 100644
--- 
a/examples/features/broker-connection/amqp-federation/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
+++ 
b/examples/features/broker-connection/amqp-federation/src/main/java/org/apache/activemq/artemis/jms/example/BrokerFederationExample.java
@@ -50,21 +50,12 @@ public class BrokerFederationExample {
       final Topic ordersTopic = sessionOnServer0.createTopic("orders");
       final Queue trackingQueue = sessionOnServer1.createQueue("tracking");
 
-      // Federation from server1 back to server0 on the orders address
-      final MessageProducer ordersProducerOn1 = 
sessionOnServer1.createProducer(ordersTopic);
+      // Create consumers which generate demand on tracked resources and 
create federation links
       final MessageConsumer ordersConsumerOn0 = 
sessionOnServer0.createConsumer(ordersTopic);
-
-      final TextMessage orderMessageSent = 
sessionOnServer1.createTextMessage("new-order");
-
-      ordersProducerOn1.send(orderMessageSent);
-
-      final TextMessage orderMessageReceived = (TextMessage) 
ordersConsumerOn0.receive(5_000);
-
-      System.out.println("Consumer on server 0 received order message from 
producer on server 1 " + orderMessageReceived.getText());
+      final MessageConsumer trackingConsumerOn1 = 
sessionOnServer1.createConsumer(trackingQueue);
 
       // Federation from server0 to server1 on the tracking queue
       final MessageProducer trackingProducerOn0 = 
sessionOnServer0.createProducer(trackingQueue);
-      final MessageConsumer trackingConsumerOn1 = 
sessionOnServer1.createConsumer(trackingQueue);
 
       final TextMessage trackingMessageSent = 
sessionOnServer0.createTextMessage("new-tracking-data");
 
@@ -73,5 +64,16 @@ public class BrokerFederationExample {
       final TextMessage trackingMessageReceived = (TextMessage) 
trackingConsumerOn1.receive(5_000);
 
       System.out.println("Consumer on server 1 received tracking data from 
producer on server 0 " + trackingMessageReceived.getText());
+
+      // Federation from server1 back to server0 on the orders address
+      final MessageProducer ordersProducerOn1 = 
sessionOnServer1.createProducer(ordersTopic);
+
+      final TextMessage orderMessageSent = 
sessionOnServer1.createTextMessage("new-order");
+
+      ordersProducerOn1.send(orderMessageSent);
+
+      final TextMessage orderMessageReceived = (TextMessage) 
ordersConsumerOn0.receive(5_000);
+
+      System.out.println("Consumer on server 0 received order message from 
producer on server 1 " + orderMessageReceived.getText());
    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to