Skip to content

Commit 0056db4

Browse files
committed
Add samples for stream filtering web page
1 parent 24cec4a commit 0056db4

File tree

1 file changed

+51
-2
lines changed

1 file changed

+51
-2
lines changed

src/test/java/com/rabbitmq/client/amqp/docs/WebsiteDocumentation.java

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
import com.rabbitmq.client.amqp.Publisher;
1212
import com.rabbitmq.client.amqp.impl.AmqpEnvironmentBuilder;
1313

14-
import java.nio.charset.StandardCharsets;
1514
import java.time.Duration;
1615

16+
import static java.nio.charset.StandardCharsets.UTF_8;
17+
1718
public class WebsiteDocumentation {
1819

1920
void environment() {
@@ -48,7 +49,7 @@ void publishing() {
4849

4950
// create the message
5051
Message message = publisher
51-
.message("hello".getBytes(StandardCharsets.UTF_8))
52+
.message("hello".getBytes(UTF_8))
5253
.messageId(1L);
5354

5455
// publish the message and deal with broker feedback
@@ -326,4 +327,52 @@ void deactivateRecovery() {
326327
.activated(false)
327328
.connectionBuilder().build();
328329
}
330+
331+
void propertyFilterExpressions() {
332+
Connection connection = null;
333+
Consumer consumer = connection.consumerBuilder()
334+
.stream().filter()
335+
.userId("John".getBytes(UTF_8))
336+
.subject("&p:Order")
337+
.property("region", "emea")
338+
.stream().builder()
339+
.queue("my-queue")
340+
.messageHandler((ctx, msg ) -> {
341+
// message processing
342+
})
343+
.build();
344+
}
345+
346+
void sqlFilterExpressions() {
347+
Connection connection = null;
348+
Consumer consumer = connection.consumerBuilder()
349+
.stream().filter()
350+
.sql("properties.user_id = 'John' AND " +
351+
"properties.subject LIKE 'Order%' AND " +
352+
"region = 'emea'")
353+
.stream().builder()
354+
.queue("my-queue")
355+
.messageHandler((ctx, msg ) -> {
356+
// message processing
357+
})
358+
.build();
359+
}
360+
361+
void combinedFilterExpressions() {
362+
Connection connection = null;
363+
Consumer consumer = connection.consumerBuilder()
364+
.stream()
365+
.filterValues("order.created")
366+
.filter()
367+
.sql("p.subject = 'order.created' AND " +
368+
"p.creation_time > UTC() - 3600000 AND " +
369+
"region IN ('AMER', 'EMEA', 'APJ') AND " +
370+
"(h.priority > 4 OR price >= 99.99 OR premium_customer = TRUE)")
371+
.stream().builder()
372+
.queue("my-queue")
373+
.messageHandler((ctx, msg ) -> {
374+
// message processing
375+
})
376+
.build();
377+
}
329378
}

0 commit comments

Comments
 (0)