Scala 运行scala工程jar包
运行scala工程jar包
D:\ws\hs_ws\hs_flink_elephant\tl_rj_analysis\target\tl_rj_analysis-1.0-SNAPSHOT-jar-with-dependencies.jar
scala -classpath tl_rj_analysis-1.0-SNAPSHOT-jar-with-dependencies.jar com.hs.fast.test.MqttToKafka
以指定编码方式启动jar

https://www.cnblogs.com/damoblog/p/17420441.html
Flink系统基本组件
https://zhuanlan.zhihu.com/p/645444461
https://blog.csdn.net/weixin_43589563/article/details/122402708
https://zhuanlan.zhihu.com/p/441610321?utm_id=0

https://cloud.tencent.com/developer/article/2078766
https://blog.csdn.net/haixing1994/article/details/122255732
https://blog.csdn.net/u011110301/article/details/127107988
https://www.cnblogs.com/fabulous5/p/16056123.html
Flink的重启机制




https://blog.csdn.net/qq_32486597/article/details/123603850
https://www.modb.pro/db/413253
https://www.sohu.com/a/404679408_120342237
flink常见的核心概念
http://runxinzhi.com/xlhlx-p-12865538.html
整体上讲,这四种级别的配置生效优先级如下:算子级别 > 执行环境级别 > 提交任务级别 > 系统配置级别。
mqtt ssl java
https://blog.csdn.net/baidu_33282782/article/details/128416069
在Scala中,可以使用getClass.getResource方法来获取资源路径下文件的路径。这个方法会返回一个URL对象,你可以通过调用getPath方法来获取文件的路径。
下面是一个示例代码:
import java.io.File
val resourceUrl = getClass.getResource("/path/to/file.txt")
val filePath = new File(resourceUrl.getPath).getPath
println(filePath)
在上面的代码中,"/path/to/file.txt"是资源文件的路径,你可以根据实际情况进行替换。getClass.getResource方法会返回一个URL对象,然后我们通过getPath方法获取文件的路径,并将其转换为File对象,最后调用getPath方法获取文件的路径字符串。
请注意,getResource方法的参数是以/开头的相对路径,表示从classpath根目录开始的路径。如果资源文件位于项目的resources目录下,可以直接使用相对路径。如果资源文件位于其他目录,需要提供完整的路径。
libraryDependencies += "org.fusesource.mqtt-client" % "mqtt-client" % "1.16"
2. 创建MQTT客户端实例并配置SSL选项:
```scala
import org.fusesource.mqtt.client.{MQTT, SSLContext}
import java.io.FileInputStream
val mqtt = new MQTT()
mqtt.setHost("mqtt.example.com", 8883) // 设置MQTT服务器地址和端口
// 加载证书和私钥
val sslContext = SSLContext.getInstance("TLS")
val keyStore = KeyStore.getInstance("PKCS12")
val keyStoreFile = new FileInputStream("/path/to/keystore.p12")
keyStore.load(keyStoreFile, "keystore_password".toCharArray)
val keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
keyManagerFactory.init(keyStore, "key_password".toCharArray)
sslContext.init(keyManagerFactory.getKeyManagers, null, null)
// 配置SSL选项
mqtt.setSslContext(sslContext)
mqtt.setSslHostnameVerifier((hostname, session) => true) // 可选,用于忽略主机名验证
- 创建MQTT连接并进行订阅和发布操作:
val connection = mqtt.blockingConnection() connection.connect() // 订阅主题 connection.subscribe(Array("topic1", "topic2"), Array(QoS.AT_LEAST_ONCE, QoS.AT_MOST_ONCE)) // 发布消息 connection.publish("topic1", "Hello, MQTT!".getBytes, QoS.AT_LEAST_ONCE, false) // 接收消息 val message = connection.receive() println(new String(message.getPayload)) connection.disconnect()
请注意,上述代码仅为示例,您需要根据实际情况进行适当的修改和配置。确保替换示例中的服务器地址、端口、证书路径和密码等信息。
flink RichParallelSourceFunction
https://blog.csdn.net/l_dsj/article/details/121549207



浙公网安备 33010602011771号