Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 10e70dc

Browse files
configure: EmailService microservice - RabbitMQ, create RabbitMQ consumer
1 parent 6299be3 commit 10e70dc

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)

AltStyle によって変換されたページ (->オリジナル) /