@@ -455,6 +455,21 @@ The following example causes RabbitMQ to deliver only messages for which **all**
455455* the application property key `region` is `emea`
456456
457457< Tabs groupId = " languages" >
458+ < TabItem value = " java" label = " Java" >
459+ ```java
460+ Consumer consumer = connection.consumerBuilder()
461+ .stream().filter()
462+ .userId(" John" .getBytes(UTF_8 ))
463+ .subject(" &p:Order" )
464+ .property(" region" , " emea" )
465+ .stream().builder()
466+ .queue(" my-queue" )
467+ .messageHandler((ctx, msg ) -> {
468+ // message processing
469+ })
470+ .build();
471+ ```
472+ < / TabItem>
458473
459474< TabItem value = " Erlang" label = " Erlang" >
460475```erlang
@@ -694,6 +709,22 @@ The following example causes RabbitMQ to deliver only messages for which **all**
694709* the application provided key `region` is `emea`
695710
696711< Tabs groupId=" languages" >
712+ < TabItem value=" Java" label=" Java" >
713+ ```java
714+ Consumer consumer = connection.consumerBuilder()
715+ .stream().filter()
716+ .sql(" properties.user_id = 'John' AND " +
717+ " properties.subject LIKE 'Order%' AND " +
718+ " region = 'emea'" )
719+ .stream().builder()
720+ .queue(" my-queue" )
721+ .messageHandler((ctx, msg ) -> {
722+ // message processing
723+ })
724+ .build();
725+ ```
726+ < / TabItem>
727+
697728
698729< TabItem value=" Erlang" label=" Erlang" >
699730```erlang
@@ -776,6 +807,27 @@ The following example provides a complex SQL filter expression that queries even
776807* the order must be of high priority or high price or be submitted by a premium customer
777808
778809< Tabs groupId = " languages" >
810+ < TabItem value = " Java" label = " Java" >
811+ ```java
812+ Consumer consumer = connection.consumerBuilder()
813+ .stream()
814+ // This Bloom filter will be evaluated server- side per chunk (Stage 1 ).
815+ .filterValues(" order.created" )
816+ .filter()
817+ // This complex SQL filter expression will be evaluted server- side
818+ // per message at stage 2 .
819+ .sql(" p.subject = 'order.created' AND " +
820+ " p.creation_time > UTC() - 3600000 AND " +
821+ " region IN ('AMER', 'EMEA', 'APJ') AND " +
822+ " (h.priority > 4 OR price >= 99.99 OR premium_customer = TRUE)" )
823+ .stream().builder()
824+ .queue(" my-queue" )
825+ .messageHandler((ctx, msg ) -> {
826+ // message processing
827+ })
828+ .build();
829+ ```
830+ < / TabItem>
779831
780832< TabItem value = " Erlang" label = " Erlang" >
781833```erlang
0 commit comments