I’m using this class and I’m wondering whether it’s thread safe: https://docs.spring.io/spring-amqp/api/org/springframework/amqp/support/converter/Jackson2JsonMessageConverter.html The docs don’t make any claims about this. I skipped through the code and found no signs it’s not t…
Tag: spring-amqp
Handle inbound AMQP messages based on a header attribute (e.g. routing key)
I have a service, that receives AMQP messages. This service is bound to a queue, which receives all messages which match a set of routing keys. My set up is as follows: This already works fine. However, now I want to handle a message with different controllers, depending on a header attribute. In this case I&…
Does Spring AMQP CorrelationData getFuture wait indefinitely without timeout?
In the context of Publisher confirms, when waiting for the CorrelationData’s future (SettableListenableFuture#get()) – does it wait indefinitely or is there a timeout configured under the water? Answer It does wait indefinitely. There is just no any opinion and everything is delegated directly to …
What kind of threading model changes led to DMLC
The doc explains why DMLC was introduced in version 2: https://docs.spring.io/spring-amqp/reference/html/#choose-container This architecture was required because, in early versions of the RabbitMQ client, multiple concurrent deliveries were not possible. Newer versions of the client have a revised threading m…
Rabbit MQ doesn’t flush acks?
The problem appeared in logs: Consumer failed to start in 60000 milliseconds; does the task executor have enough threads to support the container concurrency? We try to open handlers for like 50 queues dynamically by SimpleMessageListenerContainer.addQueueNames(), then application is started. It consumes some…
Dynamically configure RabbitMQ users and permissions with Java Spring AMQP
For security reasons, I want to configure separate user accounts with specific permissions to isolates queues in RabbitMQ. As users need to be a dynamic (adding new, removing deactivated…) I would like to achieve this with Java Spring AMQP. Creating queues, exchanges and bindings is possible with The Ra…
Synchronous publish for rabbitmq
I want to have two sets API for the clients to publish messages sync send(no retry, fail immediately and send status back to the clients synchronously) async send (publisher and confirm callback, with retry, log and drop the message after certain retries). I am able to implement this by enabling confirm and r…
Java RabbitMQ: can’t map message to corresponding class
I have two different java spring projects that communicate through rabbitmq. I’m trying to send a java object but I get this error message: I’m aware that the problem is in the classpath that should be the same in both producer and consumer, but since each project has a different name I can’…
How to configure separately both consumer and producer spring boot app when using rabbitmq?
I watched a tutorial that explains how to integrate RabbitMQ into Spring Boot app. In the tutorial, the ReceiveMessageHandler.java (Consumer) and SendMessageController.java (Producer) classes were in the same project. I want to implement them in two different Spring Boot application. However I can’t spl…
When publisher confirms are enabled, queue length limit is set and overflow is set to reject-publish,why cause in confirm callback I received is null?
I am learning Queue Length Limit(https://www.rabbitmq.com/maxlength.html), as it says, queue is set to ‘x-max-length:10’,and ‘x-overflow:reject-publish’, and also, I enable publisher confirms. So, when the number of messages in the queue reaches 10, the publisher will be informed of th…