java - Intellij Idea 上的 Kafka 生产者给出语法错误
问题描述
这是 intellij 上 .java 文件中的生产者代码。在构建代码时有几个 sytnax 错误,就像缺少“;”一样 在属性声明中。任何帮助表示赞赏。
这是一个 producer.java 文件,其中包含生成消息的代码。引导服务器被分配给一个变量。培训师能够解决任何问题,但是,看起来我遇到了 14 个格式错误——其中大多数都被认为是一个像 ; 或“不是声明”。
package kafka.tutorial1;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;
import java.util.Properties;
public class ProducerDemo {
public static void main(String[] args) {
String bootstrapServers = "127.0.0.1:9092";
//create producer properties
Properties properties = new Properties();
Properties setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
Properties setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
Properties setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
//CREATE PRODUCER
KafkaProducer<String, String> producer = new KafkaProducer<String, String>(properties);
//create producer record
ProducerRecord<String, String> record =
new ProducerRecord<String, String>("first_topic", "hello world");
//send data
producer.send(record);
}
}
POM如下 -
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>dattamza</groupId>
<artifactId>simple-kafka</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.7.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
解决方案
你在哪里
Properties setProperty(..., ...);
你的意思是
properties.setProperty(..., ...);
也就是说,您需要调用您在变量中创建setProperty
的实例的方法。Properties
properties
Properties setProperty(..., ...);
没有意义。
推荐阅读
- node.js - Twilio 可编程语音 - 使用 webhook 使用 node.js 进行身份验证
- python - 删除多个数据框列的字符串中的空格
- odata - MockServer 过滤时检测不到扩展属性
- html - css !important 不起作用 & 内联块更改为阻止
- c# - c# VssBasicCredential with Username & Password
- c# - 如何在不使用 API 的情况下在 C# 桌面应用程序中显示谷歌地球/谷歌地图
- python - SCAPY 返回带有正确电子邮件字符串的编码电子邮件
- java - 连接超时:连接。如果您使用 HTTP 代理,请在 IDE 或 Gradle 中配置代理设置
- node.js - Vue 开发服务器未在 docker 容器内启动
- mysql - MySQL,从 TableRow 创建表