29 lines
929 B
Java
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));
|
|
}
|
|
} |