Java开发技巧杂技
创建项目的spring initializr,要求是创建spring boot3.0,且不在支持java8语言,且要求语言大于17,所以创建项目时,无法创建srping2.0项目了;如果要创建spring2.0,需要改server url,即获取创建模版的地址;地址使用阿里云的:https://start.aliyun.com
杂记二
1Panel是一个和宝塔一样的服务器管理面板,官方网站如下:
1Panel - 现代化、开源的 Linux 服务器运维管理面板
安装地址帮助地址如下:
1Panel会以docker容器安装应用。
杂记三
配置prperties 编码如下:
settings——Editor——FileEncodings配置Default encoding for prperties files:
杂记四
settings——Plugins搜索maven-search,然后安装插件,该插件可以快速搜索jar包,可以不用上https://mvnrepository.com/网站上搜索。
安装完,Tools会增加MavenSearch菜单。
杂记五
在安装了docker的服务器,执行下面命令,可以进入容器内部。
docker exec -it <container-id> /bin/bash
docker exec -it fb623ac9704fb4bec8dc2a6cc84831890947728504c8fed8be57c0b5a3a6197a /bin/bash
在linux里执行下面命令,查看安装了哪些docker容器。
docker ps
which docker
命令用于查找 docker
命令所在的路径。
which docker
杂记六?使用1panel安装kafka
在maven-search中搜索kafka-clients,获取到依赖如下:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.6.0</version>
</dependency>
然后编写连接kafka代码。
static Collection<String> topicColl = Collections.singleton("my-topic");
//生产者:键编码器
static String keyEncoder = "org.apache.kafka.common.serialization.StringSerializer";
//生产者:值编码器
static String valueEncoder = "org.apache.kafka.common.serialization.StringSerializer";
//消费者:键解码器
static String keyDecoder = "org.apache.kafka.common.serialization.StringDeserializer";
//消费者:值解码器
static String valueDecoder = "org.apache.kafka.common.serialization.StringDeserializer";
?
public static void main(String[] args) {
SpringApplication.run(KKafkaApplication.class, args);
producter1();
consumer1();
}
?
static void producter1() {
Properties properties = new Properties();
properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "10.1.0.145:9092");
properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, keyEncoder);
properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, valueEncoder);
properties.put(ConsumerConfig.GROUP_ID_CONFIG, "my-group-id");
KafkaProducer<String, String> producer = new KafkaProducer<>(properties);
String message = "hello world ";
try {
for (int i = 0; i < 10; i++) {
// 异步写入数据
String topic = topicColl.toArray()[0].toString();
ProducerRecord<String, String> producerRecord = new ProducerRecord<>(topic, message + i);
producer.send(producerRecord, new Callback() {
@Override
public void onCompletion(RecordMetadata metadata, Exception exception) {
if (Objects.nonNull(exception)) {
log.error(">>>>>>>>>>Producer生产消息异常:", exception);
}
if (Objects.nonNull(metadata)) {
log.info(">>>>>>>>>>Producer生产消息:metadata:{},partition:{}, offset:{}", metadata, metadata.partition(), metadata.offset());
}
}
});
}
} catch (Exception ex) {
throw new RuntimeException(ex);
} finally {
producer.close();
}
}
?
static void consumer1() {
try {
Properties properties = new Properties();
properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "10.1.0.145:9092");
properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, keyDecoder);
properties.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, valueDecoder);
properties.put(ConsumerConfig.GROUP_ID_CONFIG, "my-group-id");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(properties);
consumer.subscribe(topicColl);
while (Boolean.TRUE) {
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(10000));
for (ConsumerRecord<String, String> record : records) {
log.info(">>>>>>>>Consumer offset:{}, value:{}", record.offset(), record.value());
}
}
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
如果抛出异常java.net.UnknownHostException: kafka0001,则需要配置host文件。
在C:\Windows\System32\drivers\etc的host文件下,添加
10.1.0.145 kafka0001
杂记六 flink
需要到官网先下载安装包。
官网下载地址:https://flink.apache.org/downloads/
各个版本下载地址:https://dlcdn.apache.org/flink/
然后使用final shell上传到 soft/resources下。
然后进入soft/resources,执行命令解压
tar -zxvf flink-1.18.0-bin-scala_2.12.tgz -C /soft/flink/
然后进入flink文件夹
cd /soft/flink/flink-1.18.0/
然后进入conf。
cd conf
然后修改配置文件里的localhost都改为0.0.0.0
vi flink-conf.yaml
然后执行命令启动
bin/start-cluster.sh
然后放行8081,然后jps查看进程
jps
然后访问192.1.0.1:8081
flink使用maven快速创建java项目使用的包如下:
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-quickstart-java -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-quickstart-java</artifactId>
<version>1.18.0</version>
</dependency>
ps:flink官网学习地址:https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/
ps:flinkCDC,cdc不是flink提供的,是ververica提供的,参考地址:MySQL CDC 连接器 — CDC Connectors for Apache Flink? documentation (ververica.github.io)
----------------------------------------------------------------------------------------------------
注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的【推荐】,非常感谢!
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!