feat(实验5): 添加银行系统和图书管理系统界面
- 新增 BankManagerSystem 和 BookManagerSystem 类 - 使用 JFormDesigner 设计并生成了相应的界面 - 添加了基本的事件处理方法 - 优化了界面布局和组件样式
This commit is contained in:
@@ -136,6 +136,13 @@
|
||||
<version>${mysqlconnect.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Kafka -->
|
||||
<dependency>
|
||||
<groupId>org.apache.kafka</groupId>
|
||||
<artifactId>kafka-clients</artifactId>
|
||||
<version>3.1.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
47
spark-lesson/src/main/scala/date_20250513/MyConsumer.java
Normal file
47
spark-lesson/src/main/scala/date_20250513/MyConsumer.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package date_20250513;
|
||||
|
||||
import org.apache.kafka.clients.consumer.*;
|
||||
import org.apache.kafka.common.serialization.IntegerDeserializer;
|
||||
import org.apache.kafka.common.serialization.StringDeserializer;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Arrays;
|
||||
import java.util.Properties;
|
||||
|
||||
|
||||
/**
|
||||
* 消费者类
|
||||
*/
|
||||
|
||||
public class MyConsumer {
|
||||
|
||||
public static void main(String[] args) {
|
||||
//1.使用Proerties定义配置属性
|
||||
Properties props = new Properties();
|
||||
//设置生产者Broker服务器连接地址
|
||||
props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "hadoop102:9092");
|
||||
//设置序列化key程序类
|
||||
props.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
|
||||
//设置序列号化value程序类,此处不一定是非得时Integer,也可以是String
|
||||
props.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
|
||||
//设置消费者组ID,即组名称,值可自定义,组名称相同的消费者进程属于用一个消费者
|
||||
props.setProperty(ConsumerConfig.GROUP_ID_CONFIG, "test-consumer-group4");
|
||||
// 设置从头开始消费
|
||||
props.put("auto.offset.reset", "earliest");
|
||||
//2.定义消费者对象
|
||||
Consumer<String, String> consumer = new KafkaConsumer<String, String>(props);
|
||||
//3.设置消费者读取的主题名称,可以设置多个
|
||||
consumer.subscribe(Arrays.asList("topic02"));
|
||||
//4.不同的读取消息
|
||||
while (true) {
|
||||
System.out.println("打印开始");
|
||||
//拉取消息,并设置超时时间为10秒
|
||||
ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(100));
|
||||
for (ConsumerRecord<String, String> record : records) {
|
||||
System.out.println(record.value() + ", " + record.partition() + ",offset: " + record.offset());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
48
spark-lesson/src/main/scala/date_20250513/MyProducer.java
Normal file
48
spark-lesson/src/main/scala/date_20250513/MyProducer.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package date_20250513;
|
||||
|
||||
import org.apache.kafka.clients.producer.KafkaProducer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.apache.kafka.clients.producer.ProducerConfig;
|
||||
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||
import org.apache.kafka.common.serialization.IntegerSerializer;
|
||||
import org.apache.kafka.common.serialization.StringSerializer;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
|
||||
/**
|
||||
* 生产者类
|
||||
*/
|
||||
|
||||
public class MyProducer {
|
||||
|
||||
public static void main(String[] args) {
|
||||
//1.使用Proerties定义配置属性
|
||||
Properties props = new Properties();
|
||||
//设置生产者Broker服务器连接地址
|
||||
props.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "hadoop102:9092");
|
||||
//指定topic
|
||||
String topic = "topic02";
|
||||
//设置序列化key程序类
|
||||
props.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
|
||||
//设置序列号化value程序类,此处不一定是非得时Integer,也可以是String
|
||||
props.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
|
||||
//2.定义消息生产者对象,依靠此对象可以进行消息的传递
|
||||
Producer<String, String> producer = new KafkaProducer<String, String>(props);
|
||||
|
||||
//3.循环发送10条消息
|
||||
for (int i = 0; i < 10; i++) {
|
||||
//发送消息,此方式只负责发送消息,不关心是否发送成功
|
||||
//第一个参数:主题名称
|
||||
//第二个参数,消息的key值
|
||||
//第三个参数,消息的value值
|
||||
System.out.println(i);
|
||||
//producer.send(new ProducerRecord<String, String>(topic,"hello to kafka" + i, String.valueOf(i)));
|
||||
|
||||
producer.send(new ProducerRecord<String, String>(topic, "hello to kafka" + i));
|
||||
|
||||
}
|
||||
//4.关闭生产者,释放资源
|
||||
producer.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user