Filtering streams
We are receiving the messages from RabbitMQ. Now, we need to return the messages to the connected customer.
For that, we will use SSE with Spring WebFlux. The solution is a good fit for us because we will produce a Flux<Tweet> and start to push the Tweets for our clients. The clients will send a query to filter the desired Tweets.
The application will be fully reactive. Let's take a look at our code:
package springfive.twitterdispatcher.domain.controller
import org.springframework.http.MediaType
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
import reactor.core.publisher.Flux
import springfive.twitterdispatcher.domain.service.Tweet
import springfive.twitterdispatcher.domain.service.TwitterDispatcher
@RestController
@RequestMapping("/tweets")
class TweetResource(private val...