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 71809c5

Browse files
Merge pull request #3 from adiletkdev/develop
OrderService microservice
2 parents d1ec732 + 6299be3 commit 71809c5

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

‎order-service/src/main/java/net/adiletkdev/orderservice/config/RabbitMQConfig.java‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,30 @@ public class RabbitMQConfig {
1515
@Value("${rabbitmq.queue.order.name}")
1616
private String orderQueue;
1717

18+
@Value("${rabbitmq.queue.email.name}")
19+
private String emailQueue;
20+
1821
@Value("${rabbitmq.exchange.name}")
1922
private String exchange;
2023

2124
@Value("${rabbitmq.binding.routing.key}")
2225
private String orderRoutingKey;
2326

27+
@Value("${rabbitmq.binding.email.routing.key}")
28+
private String emailRoutingKey;
29+
2430
// spring bean for queue - order queue
2531
@Bean
2632
public Queue orderQueue() {
2733
return new Queue(orderQueue);
2834
}
2935

36+
// spring bean for queue - email queue
37+
@Bean
38+
public Queue emailQueue() {
39+
return new Queue(emailQueue);
40+
}
41+
3042
// spring bean for exchange
3143
@Bean
3244
public TopicExchange exchange() {
@@ -42,6 +54,15 @@ public Binding binding() {
4254
.with(orderRoutingKey);
4355
}
4456

57+
// spring bean binding between exchange and email queue using email routing key
58+
@Bean
59+
public Binding emailBinding() {
60+
return BindingBuilder
61+
.bind(emailQueue())
62+
.to(exchange())
63+
.with(emailRoutingKey);
64+
}
65+
4566
// message converter
4667
@Bean
4768
public MessageConverter converter() {

‎order-service/src/main/java/net/adiletkdev/orderservice/publisher/OrderProducer.java‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ public class OrderProducer {
1818
@Value("${rabbitmq.binding.routing.key}")
1919
private String orderRoutingKey;
2020

21+
@Value("${rabbitmq.binding.email.routing.key}")
22+
private String emailRoutingKey;
23+
2124
private RabbitTemplate rabbitTemplate;
2225

2326
public OrderProducer(RabbitTemplate rabbitTemplate) {
@@ -27,6 +30,10 @@ public OrderProducer(RabbitTemplate rabbitTemplate) {
2730
public void sendMessage(OrderEvent orderEvent) {
2831
LOGGER.info(String.format("Order event sent to RabbitMQ -> %s", orderEvent.toString()));
2932

33+
// send an order event to order queue
3034
rabbitTemplate.convertAndSend(exchange, orderRoutingKey, orderEvent);
35+
36+
// send an order event to email queue
37+
rabbitTemplate.convertAndSend(exchange, emailRoutingKey, orderEvent);
3138
}
3239
}
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
rabbitmq.queue.order.name=order_queue
22
rabbitmq.exchange.name=order_exchange
3-
rabbitmq.binding.routing.key=order_routing_key
3+
rabbitmq.binding.routing.key=order_routing_key
4+
5+
rabbitmq.queue.email.name=email_queue
6+
rabbitmq.binding.email.routing.key=email_routing_key

0 commit comments

Comments
(0)

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