智慧水务管理系统 - 精河县供水工程综合管理平台

KafkaConfig.java 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.water.bi.service;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.kafka.annotation.EnableKafka;
  5. import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
  6. import org.springframework.kafka.core.ConsumerFactory;
  7. import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
  8. import org.springframework.kafka.core.KafkaTemplate;
  9. import org.springframework.kafka.core.ProducerFactory;
  10. import org.springframework.kafka.support.serializer.JsonDeserializer;
  11. import org.springframework.kafka.support.serializer.JsonSerializer;
  12. import org.apache.kafka.clients.consumer.ConsumerConfig;
  13. import org.apache.kafka.clients.producer.ProducerConfig;
  14. import org.apache.kafka.common.serialization.StringDeserializer;
  15. import org.apache.kafka.common.serialization.StringSerializer;
  16. import java.util.HashMap;
  17. import java.util.Map;
  18. @Configuration
  19. @EnableKafka
  20. public class KafkaConfig {
  21. @Bean
  22. public ConsumerFactory<String, String> consumerFactory() {
  23. Map<String, Object> props = new HashMap<>();
  24. props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
  25. props.put(ConsumerConfig.GROUP_ID_CONFIG, "bi-processor");
  26. props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
  27. props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
  28. return new DefaultKafkaConsumerFactory<>(props);
  29. }
  30. @Bean
  31. public ConcurrentKafkaListenerContainerFactory<String, String> kafkaListenerContainerFactory() {
  32. ConcurrentKafkaListenerContainerFactory<String, String> factory =
  33. new ConcurrentKafkaListenerContainerFactory<>();
  34. factory.setConsumerFactory(consumerFactory());
  35. return factory;
  36. }
  37. @Bean
  38. public ProducerFactory<String, String> producerFactory() {
  39. Map<String, Object> props = new HashMap<>();
  40. props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
  41. props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
  42. props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
  43. return new DefaultKafkaConsumerFactory<>(props);
  44. }
  45. @Bean
  46. public KafkaTemplate<String, String> kafkaTemplate() {
  47. return new KafkaTemplate<>(producerFactory());
  48. }
  49. }