@@ -25,6 +25,7 @@ public static void main(String[] args) {
2525 acknowledgeMessagesBatch ();
2626 negativeAcknowledgeMessage ();
2727 getSubscriptionAttributes ();
28+ sendReceiveMultipleMessages ();
2829 }
2930
3031 /**
@@ -68,7 +69,7 @@ public static void publishMessageWithMetadata() {
6869 }
6970
7071 /**
71- * Publishes multiple messages for batch operations.
72+ * Send and receive multiple messages individually
7273 */
7374 public static void publishBatchMessages () {
7475 // Get the TopicClient instance
@@ -89,6 +90,30 @@ public static void publishBatchMessages() {
8990 getLogger ().info ("Published 5 messages for batch acknowledgment" );
9091 }
9192
93+ /**
94+ * Publishes multiple messages for batch operations.
95+ */
96+ public static void sendReceiveMultipleMessages () {
97+ // Get the TopicClient instance
98+ TopicClient topicClient = getTopicClient (provider );
99+ SubscriptionClient subscriptionClient = getSubscriptionClient (provider );
100+
101+ // Publish 5 messages for batch acknowledgment
102+ for (int i = 1 ; i <= 5 ; i ++) {
103+ Message message = Message .builder ()
104+ .withBody ("Batch message #" + i )
105+ .withMetadata ("batchId" , "batch-1" )
106+ .withMetadata ("messageNumber" , String .valueOf (i ))
107+ .build ();
108+
109+ topicClient .send (message );
110+ Message m = subscriptionClient .receive ();
111+ getLogger ().info ("Received message #{}" , m .getAckID ());
112+ }
113+
114+ getLogger ().info ("Published 5 messages for batch acknowledgment" );
115+ }
116+
92117 /**
93118 * Receives a message from a subscription.
94119 */
0 commit comments