Skip to content

Commit efda0bc

Browse files
authored
Merge pull request #4 from adiletkdev/develop
EmailService microservice
2 parents 71809c5 + 10e70dc commit efda0bc

File tree

4 files changed

+56
-1
lines changed

4 files changed

+56
-1
lines changed

email-service/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@
4141
<artifactId>spring-rabbit-test</artifactId>
4242
<scope>test</scope>
4343
</dependency>
44+
45+
<dependency>
46+
<groupId>net.adiletkdev</groupId>
47+
<artifactId>order-service</artifactId>
48+
<version>0.0.1-SNAPSHOT</version>
49+
</dependency>
4450
</dependencies>
4551

4652
<build>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package net.adiletkdev.emailservice.config;
2+
3+
import org.springframework.amqp.core.AmqpTemplate;
4+
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
5+
import org.springframework.amqp.rabbit.core.RabbitTemplate;
6+
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
7+
import org.springframework.amqp.support.converter.MessageConverter;
8+
import org.springframework.context.annotation.Bean;
9+
import org.springframework.context.annotation.Configuration;
10+
11+
@Configuration
12+
public class RabbitMQConfig {
13+
14+
// message converter
15+
@Bean
16+
public MessageConverter converter() {
17+
return new Jackson2JsonMessageConverter();
18+
}
19+
20+
// configure RabbitTemplate
21+
public AmqpTemplate amqpTemplate(ConnectionFactory connectionFactory) {
22+
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
23+
rabbitTemplate.setMessageConverter(converter());
24+
25+
return rabbitTemplate;
26+
}
27+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package net.adiletkdev.emailservice.consumer;
2+
3+
import net.adiletkdev.orderservice.dto.OrderEvent;
4+
import org.slf4j.Logger;
5+
import org.slf4j.LoggerFactory;
6+
import org.springframework.amqp.rabbit.annotation.RabbitListener;
7+
import org.springframework.stereotype.Service;
8+
9+
@Service
10+
public class OrderConsumer {
11+
12+
private Logger LOGGER = LoggerFactory.getLogger(OrderConsumer.class);
13+
14+
@RabbitListener(queues = {"${rabbitmq.queue.email.name}"})
15+
public void consume(OrderEvent event) {
16+
LOGGER.info(String.format("Order event received int email service -> %s", event.toString()));
17+
18+
// email service needs to email customer
19+
}
20+
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
server.port=8082
1+
server.port=8082
2+
3+
rabbitmq.queue.email.name=email_queue

0 commit comments

Comments
 (0)