File tree Expand file tree Collapse file tree 4 files changed +56
-1
lines changed 
java/net/adiletkdev/emailservice Expand file tree Collapse file tree 4 files changed +56
-1
lines changed Original file line number Diff line number Diff line change 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 >
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