ProductDTO added

parent 95a93ec2
......@@ -3,7 +3,7 @@ package com.nisum.spring.kafka.api.config;
import java.util.HashMap;
import java.util.Map;
import com.nisum.spring.kafka.api.User;
import com.nisum.spring.kafka.api.dto.ProductDto;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.serialization.StringDeserializer;
......@@ -48,8 +48,8 @@ public class KafkaConsumerConfig {
// config for json data
@Bean
public ConsumerFactory<String, User> userConsumerFactory() {
JsonDeserializer<User> deserializer = new JsonDeserializer<>(User.class);
public ConsumerFactory<String, ProductDto> userConsumerFactory() {
JsonDeserializer<ProductDto> deserializer = new JsonDeserializer<>(ProductDto.class);
//deserializer.setRemoveTypeHeaders(false);
deserializer.addTrustedPackages("*");
deserializer.setUseTypeMapperForKey(true);
......@@ -58,12 +58,12 @@ public class KafkaConsumerConfig {
configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, deserializer);
configs.put(ConsumerConfig.GROUP_ID_CONFIG, "jsonGroupId");
return new DefaultKafkaConsumerFactory<>(configs, new StringDeserializer(), new JsonDeserializer<>(User.class));
return new DefaultKafkaConsumerFactory<>(configs, new StringDeserializer(), new JsonDeserializer<>(ProductDto.class));
}
@Bean
public ConcurrentKafkaListenerContainerFactory<String, User> userKafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<String, User> factory = new ConcurrentKafkaListenerContainerFactory<String, User>();
public ConcurrentKafkaListenerContainerFactory<String, ProductDto> userKafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<String, ProductDto> factory = new ConcurrentKafkaListenerContainerFactory<String, ProductDto>();
factory.setConsumerFactory(userConsumerFactory());
return factory;
}
......
package com.nisum.spring.kafka.api.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.*;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProductDto {
private String id;
@NotBlank(message = "Product Name shouldn't be null or empty")
private String name;
@DecimalMin(value = "1.0", message = "Please Enter a valid Price")
private double price;
// annotation
@Min(1)
@Max(5)
@NotNull
private int qty;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment