Avatar
0
Huu Tuyen Nguyen Beginner
Exception khi đồng bộ dữ liệu từ Kafka
  1. Cho e hỏi khi đồng bộ dữ liệu từ <code>kafka</code> với vai trò là consumer cần bắt nhưng exception nào?
  2. Và ở dòng code này: <code>@Payload(required = false) ConsumerRecords<String, String> records</code> thì cái <code>annotation payload required false</code> có ý nghĩa là gì. Thanks.
  • 1 Answer(s)
  • 1624 Views
  • Answer
Remain: 5
1 Answer
Avatar
monkey Enlightened
monkey Enlightened
  1. Anh vẫn thường bắt Exception hoặc Throwable kiểu này:
     try {
        log.debug("start proccess record: {}", record);
        processRecord(record);
        log.debug("finish proccess record: {}", record);
    } catch (Exception e) {
        log.debug("proccess record: {} failed", record, e);
        if (e instance Exception khi xử lý logic) {
            // xử lý exception
        } else {
            // nếu không biết exception này là gì, nó sẽ là exception nghiêm trọng
            notifyToSlack(e); // thông báo vào kênh chat để dev xem ngay
        }
    }
    
  1. Theo như <a href="https://github.com/spring-projects/spring-framework/blob/main/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/Payload.java" target="_blank" rel="nofollow ugc">source code @Payload này</a> thì false có nghĩa không yêu cầu message gửi đến phải có payload (có nội dung). Có nghĩa là em có thể gửi một message rỗng không có nội dung gì và consumer vẫn sẽ chấp nhận nó. Tuy nhiên anh thấy em dùng kiểu <code>@Payload(required = false) ConsumerRecords</code> có vẻ không đúng lắm nhỉ? Thường thì sẽ khai báo 1 đối tượng Java làm payload em ạ.
  • 0
  • Reply
0%

Media

Add New Media

Media Details

Uploaded On
File Name
File Type
File Size
Dimension