// Path: demo-service-interface/src/main/java/app/demo/api/product/kafka/ProductUpdatedMessage.java
// public class ProductUpdatedMessage {
//     @NotNull(message = "id is required")
//     @Property(name = "id")
//     public String id;
// 
//     @NotBlank
//     @Property(name = "name")
//     public String name;
// 
//     @Property(name = "desc")
//     public String desc;
// }


import app.demo.api.product.kafka.ProductUpdatedMessage;
import core.framework.kafka.BulkMessageHandler;
import core.framework.kafka.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
package app.demo.product.kafka;



/**
 * @author neo
 */
public class ProductUpdatedBulkMessageHandler implements BulkMessageHandler<ProductUpdatedMessage> {
    private final Logger logger = LoggerFactory.getLogger(ProductUpdatedBulkMessageHandler.class);

    @Override
// Path: demo-service-interface/src/main/java/app/demo/api/product/kafka/ProductUpdatedMessage.java
// public class ProductUpdatedMessage {
//     @NotNull(message = "id is required")
//     @Property(name = "id")
//     public String id;
// 
//     @NotBlank
//     @Property(name = "name")
//     public String name;
// 
//     @Property(name = "desc")
//     public String desc;
// }


// Path: demo-service/src/main/java/app/demo/product/kafka/ProductUpdatedBulkMessageHandler.java
import app.demo.api.product.kafka.ProductUpdatedMessage;
import core.framework.kafka.BulkMessageHandler;
import core.framework.kafka.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;

package app.demo.product.kafka;



/**
 * @author neo
 */
public class ProductUpdatedBulkMessageHandler implements BulkMessageHandler<ProductUpdatedMessage> {
    private final Logger logger = LoggerFactory.getLogger(ProductUpdatedBulkMessageHandler.class);

    @Override
    public void handle(List<Message<ProductUpdatedMessage>> messages) throws Exception {