-
Notifications
You must be signed in to change notification settings - Fork 646
Open
Labels
Milestone
Description
An add example to the current producing to a super stream docs.
The current docs do not include the details to retrieve a routing key for super stream routing.
@bean
RabbitStreamTemplate streamTemplate(Environment env) {
RabbitStreamTemplate template = new RabbitStreamTemplate(env, "stream.queue1");
template.setSuperStreamRouting(message -> {
// some logic to return a String for the client's hashing algorithm
});
return template;
}
The ask is to add an example of using the message builder to put a routing key in the msg app properties and using that property in the RabbitStreamTemplate.setSuperStreamRouting
https://docs.spring.io/spring-amqp/reference/stream.html#producing-to-a-superstream
Example
@Bean
RabbitStreamTemplate streamTemplate(Environment env) {
var template = new RabbitStreamTemplate(env, superStreamName);
template.setSuperStreamRouting(message -> {
return message.getApplicationProperties().get(ROUTING_KEY).toString();
});
return template;
}
//SEND MESSAGE -> Add a routing key to a message using the rabbitStreamTemplate
rabbitStreamTemplate.send(rabbitStreamTemplate
.messageBuilder().addData(converter.convert(domainObject))
.applicationProperties().entry("ROUTING_KEY",domainObject.getId())
.messageBuilder().build());