使用springboot将数据从文件发送到Kafka主题

omjgkv6w  于 2022-11-23  发布在  Spring
关注(0)|答案(1)|浏览(202)

我想使用Kafka和springboot从文件中真实的发送数据,我已经测试了这段代码,使用postman以JSON格式将数据发送到kafka主题。

@RestController
public class OrderController {

    @Autowired
    private KafkaProducerService kafkaProducerService;

    @PostMapping("/post")
    public void order(@RequestBody Order order) {
        kafkaProducerService.send(order);
    }

}

在可能的情况下,我想发送数据从文件使用springboot。任何想法如何可以做到这一点?

lf5gs5x2

lf5gs5x21#

这对我很有帮助:
.propretiespom.xml中进行适当的配置后,我就可以在我的服务层中使用它了。

private final static String TOPIC = "TOPIC";

@Autowired
private KafkaTemplate<String, Sting> kafkaTemplate;

public void someMethod(){
    
    //... code
    
    kafkaTemplate.send(TOPIC, obj.toString());
}

我需要发送字符串,它工作得很好,希望它有帮助。我还做了预定的方法来发送Kafka队列编程。
你还应该在你的pom中添加

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
</dependency>

这是我需要的我的财产

# Required connection configs for Kafka producer, consumer, and admin
spring.kafka.properties.sasl.mechanism=PLAIN
spring.kafka.properties.bootstrap.servers=server
spring.kafka.properties.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule   required username=''   password='';
spring.kafka.properties.security.protocol=SASL_SSL

#Serialization
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer

# Best practice for higher availability in Apache Kafka clients prior to 3.0
spring.kafka.properties.session.timeout.ms=45000

如果有帮助或需要其他帮助,请告诉我

相关问题