File tree 4 files changed +56
-1
lines changed
java/net/adiletkdev/emailservice
4 files changed +56
-1
lines changed Original file line number Diff line number Diff line change 41
41
<artifactId >spring-rabbit-test</artifactId >
42
42
<scope >test</scope >
43
43
</dependency >
44
+
45
+ <dependency >
46
+ <groupId >net.adiletkdev</groupId >
47
+ <artifactId >order-service</artifactId >
48
+ <version >0.0.1-SNAPSHOT</version >
49
+ </dependency >
44
50
</dependencies >
45
51
46
52
<build >
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change 1
- server.port =8082
1
+ server.port =8082
2
+
3
+ rabbitmq.queue.email.name =email_queue
You can’t perform that action at this time.
0 commit comments