Skip to content

Commit ea79344

Browse files
committed
added mailtrap.io configs
1 parent 9d26d63 commit ea79344

File tree

20 files changed

+208
-28
lines changed

20 files changed

+208
-28
lines changed

.idea/uiDesigner.xml

Lines changed: 124 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

notification-service/pom.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@
3838
<groupId>org.springframework.kafka</groupId>
3939
<artifactId>spring-kafka</artifactId>
4040
</dependency>
41-
41+
<dependency>
42+
<groupId>org.springframework.boot</groupId>
43+
<artifactId>spring-boot-starter-web</artifactId>
44+
</dependency>
4245
<dependency>
4346
<groupId>org.springframework.boot</groupId>
4447
<artifactId>spring-boot-starter-test</artifactId>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//{
2+
// "type": "record",
3+
// "name": "OrderPlacedEvent",
4+
// "namespace": "com.nipundas.order.event",
5+
// "fields": [
6+
// { "name": "orderNumber", "type": "string" },
7+
// { "name": "email", "type": "string" },
8+
// { "name": "firstName", "type": "string" },
9+
// { "name": "lastName", "type": "string" }
10+
// ]
11+
//}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.nipundas.notification_service.notification.service;
2+
3+
4+
5+
import com.nipundas.notification_service.order.event.OrderPlacedEvent;
6+
import lombok.RequiredArgsConstructor;
7+
import lombok.extern.slf4j.Slf4j;
8+
import org.springframework.kafka.annotation.KafkaListener;
9+
import org.springframework.mail.MailException;
10+
import org.springframework.mail.javamail.JavaMailSender;
11+
import org.springframework.mail.javamail.MimeMessageHelper;
12+
import org.springframework.mail.javamail.MimeMessagePreparator;
13+
import org.springframework.stereotype.Service;
14+
15+
@Service
16+
@RequiredArgsConstructor
17+
@Slf4j
18+
public class NotificationService {
19+
20+
private final JavaMailSender javaMailSender;
21+
22+
@KafkaListener(topics="order-placed")
23+
public void listen(OrderPlacedEvent orderPlacedEvent){
24+
log.info("Got message from order-placed kafkaTopic ",orderPlacedEvent);
25+
26+
//sending mail
27+
28+
MimeMessagePreparator messagePreparator = mimeMessage -> {
29+
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
30+
messageHelper.setFrom("productshop@email.com");
31+
messageHelper.setTo(orderPlacedEvent.getEmail().toString());
32+
messageHelper.setSubject(String.format("Your Order with OrderNumber %s is placed successfully",
33+
orderPlacedEvent.getOrderNumber()));
34+
35+
messageHelper.setText(String.format("""
36+
Hi,
37+
Your order with order number %s is now placed successfully.
38+
39+
Best Regards
40+
Product Shop
41+
""",
42+
// orderPlacedEvent.getFirstName().toString(),
43+
// orderPlacedEvent.getLastName().toString(),
44+
orderPlacedEvent.getOrderNumber()));
45+
};
46+
try {
47+
javaMailSender.send(messagePreparator);
48+
log.info("Order Notification email sent!!");
49+
} catch (MailException e) {
50+
log.error("Exception occurred when sending mail", e);
51+
throw new RuntimeException("Exception occurred when sending mail to springshop@email.com", e);
52+
}
53+
}
54+
}

notification-service/src/main/java/com/nipundas/notification_service/order/OrderPlacedEvent.java renamed to notification-service/src/main/java/com/nipundas/notification_service/order/event/OrderPlacedEvent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.nipundas.notification_service.order;
1+
package com.nipundas.notification_service.order.event;
22

33
import lombok.AllArgsConstructor;
44
import lombok.Data;

notification-service/src/main/java/com/nipundas/notification_service/service/NotificationService.java

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
spring.application.name=notification-service
2+
server.port=8087
23

34
# Kafka Consumer Properties
4-
spring.kafka.bootstrap-servers=localhost:9200
5+
spring.kafka.bootstrap-servers=localhost:9092
56
spring.kafka.consumer.group-id=notification-service
67
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
7-
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonSerializer
8-
spring.kafka.consumer.properties.schema.registry.url=http://127.0.0.1:8085
9-
spring.kafka.consumer.properties.specific.avro.reader=true
8+
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
9+
#spring.kafka.consumer.properties.spring.json.type.mapping=event:com.nipundas.notification_service.order.event.OrderPlacedEvent
1010

11+
#spring.kafka.consumer.properties.schema.registry.url=http://127.0.0.1:8085
12+
#spring.kafka.consumer.properties.specific.avro.reader=true
13+
14+
# Mail Properties
15+
spring.mail.host=sandbox.smtp.mailtrap.io
16+
spring.mail.port=2525
17+
spring.mail.username=1ee0dd5771d659
18+
spring.mail.password=4f9eb34bacafd3
19+
#spring.mail.protocol=smtp

order-service/mysql/#ib_16384_0.dblwr

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

order-service/mysql/binlog.000009

768 Bytes
Binary file not shown.

order-service/mysql/ibdata1

0 Bytes
Binary file not shown.

order-service/mysql/mysql.ibd

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

order-service/mysql/undo_001

0 Bytes
Binary file not shown.

order-service/mysql/undo_002

0 Bytes
Binary file not shown.

product-service/data/WiredTiger.turtle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ WiredTiger 11.2.0: (November 10, 2022)
33
WiredTiger version
44
major=11,minor=2,patch=0
55
file:WiredTiger.wt
6-
access_pattern_hint=none,allocation_size=4KB,app_metadata=,assert=(commit_timestamp=none,durable_timestamp=none,read_timestamp=none,write_timestamp=off),block_allocation=best,block_compressor=,cache_resident=false,checksum=on,collator=,columns=,dictionary=0,encryption=(keyid=,name=),format=btree,huffman_key=,huffman_value=,id=0,ignore_in_memory_cache_size=false,internal_item_max=0,internal_key_max=0,internal_key_truncate=true,internal_page_max=4KB,key_format=S,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=0,log=(enabled=true),memory_page_image_max=0,memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=4,readonly=false,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,tiered_object=false,tiered_storage=(auth_token=,bucket=,bucket_prefix=,cache_directory=,local_retention=300,name=,object_target_size=0),value_format=S,verbose=[],version=(major=1,minor=1),write_timestamp_usage=none,checkpoint=(WiredTigerCheckpoint.7404=(addr="018f81e4a486e6ea9081e431d46b5c9181e47128be4b808080e3010fc0e23fc0",order=7404,time=1724514517,size=28672,newest_start_durable_ts=0,oldest_start_ts=0,newest_txn=17,newest_stop_durable_ts=0,newest_stop_ts=-1,newest_stop_txn=-11,prepare=0,write_gen=22208,run_write_gen=22173)),checkpoint_backup_info=,checkpoint_lsn=(9,12672)
6+
access_pattern_hint=none,allocation_size=4KB,app_metadata=,assert=(commit_timestamp=none,durable_timestamp=none,read_timestamp=none,write_timestamp=off),block_allocation=best,block_compressor=,cache_resident=false,checksum=on,collator=,columns=,dictionary=0,encryption=(keyid=,name=),format=btree,huffman_key=,huffman_value=,id=0,ignore_in_memory_cache_size=false,internal_item_max=0,internal_key_max=0,internal_key_truncate=true,internal_page_max=4KB,key_format=S,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=0,log=(enabled=true),memory_page_image_max=0,memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=4,readonly=false,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,tiered_object=false,tiered_storage=(auth_token=,bucket=,bucket_prefix=,cache_directory=,local_retention=300,name=,object_target_size=0),value_format=S,verbose=[],version=(major=1,minor=1),write_timestamp_usage=none,checkpoint=(WiredTigerCheckpoint.7458=(addr="018f81e45428989d9081e431d46b5c9181e478a6625d808080e3010fc0e23fc0",order=7458,time=1724517761,size=28672,newest_start_durable_ts=0,oldest_start_ts=0,newest_txn=71,newest_stop_durable_ts=0,newest_stop_ts=-1,newest_stop_txn=-11,prepare=0,write_gen=22370,run_write_gen=22173)),checkpoint_backup_info=,checkpoint_lsn=(9,54144)

product-service/data/WiredTiger.wt

0 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)