awesome-compose/spring-rabbitmq/backend/src/main/java/com/company/project/config/QueueProducer.java
Mohammad Sadegh Sheikh Zahedi b670c71c4a add spring-rabbitmq example
Signed-off-by: Mohammad Sadegh Sheikh Zahedi <sheikhoo.iran@gmail.com>
2023-01-02 15:08:30 +03:30

29 lines
929 B
Java

package com.company.project.config;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.company.project.model.Message;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class QueueProducer {
@Value("${fanout.exchange}")
private String fanoutExchange;
private final RabbitTemplate rabbitTemplate;
@Autowired
public QueueProducer(RabbitTemplate rabbitTemplate) {
this.rabbitTemplate = rabbitTemplate;
}
public void produce(Message message) throws JsonProcessingException {
rabbitTemplate.setExchange(fanoutExchange);
rabbitTemplate.convertAndSend(new ObjectMapper().writeValueAsString(message));
}
}