ProductDTO added

parent 95a93ec2
...@@ -3,7 +3,7 @@ package com.nisum.spring.kafka.api.config; ...@@ -3,7 +3,7 @@ package com.nisum.spring.kafka.api.config;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; 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.consumer.ConsumerConfig;
import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.serialization.StringDeserializer; import org.apache.kafka.common.serialization.StringDeserializer;
...@@ -48,8 +48,8 @@ public class KafkaConsumerConfig { ...@@ -48,8 +48,8 @@ public class KafkaConsumerConfig {
// config for json data // config for json data
@Bean @Bean
public ConsumerFactory<String, User> userConsumerFactory() { public ConsumerFactory<String, ProductDto> userConsumerFactory() {
JsonDeserializer<User> deserializer = new JsonDeserializer<>(User.class); JsonDeserializer<ProductDto> deserializer = new JsonDeserializer<>(ProductDto.class);
//deserializer.setRemoveTypeHeaders(false); //deserializer.setRemoveTypeHeaders(false);
deserializer.addTrustedPackages("*"); deserializer.addTrustedPackages("*");
deserializer.setUseTypeMapperForKey(true); deserializer.setUseTypeMapperForKey(true);
...@@ -58,12 +58,12 @@ public class KafkaConsumerConfig { ...@@ -58,12 +58,12 @@ public class KafkaConsumerConfig {
configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, deserializer); configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, deserializer);
configs.put(ConsumerConfig.GROUP_ID_CONFIG, "jsonGroupId"); 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 @Bean
public ConcurrentKafkaListenerContainerFactory<String, User> userKafkaListenerContainerFactory() { public ConcurrentKafkaListenerContainerFactory<String, ProductDto> userKafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<String, User> factory = new ConcurrentKafkaListenerContainerFactory<String, User>(); ConcurrentKafkaListenerContainerFactory<String, ProductDto> factory = new ConcurrentKafkaListenerContainerFactory<String, ProductDto>();
factory.setConsumerFactory(userConsumerFactory()); factory.setConsumerFactory(userConsumerFactory());
return factory; 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