当前位置: 首页 > news >正文

dede 友情链接 网站简况 调用上海网站推广系统

dede 友情链接 网站简况 调用,上海网站推广系统,太原制作网站的公司网站,国内大型网站域名概述 因为公司业务需求,需要将一部分原本已经用C/C写好的程序封装到flink内部使用。 操作系统 CentOS 7使用的技术和工具 flink 1.17.1 JDK 19.0.2 JNA 5.12.1 maven 3.9.4技术实现 利用JNA将C/C的程序封装到JAR包里面,然后结合flink依赖&#xff0…

概述

因为公司业务需求,需要将一部分原本已经用C/C++写好的程序封装到flink内部使用。

操作系统

CentOS 7

使用的技术和工具

flink 1.17.1
JDK 19.0.2
JNA 5.12.1
maven 3.9.4

技术实现

利用JNA将C/C++的程序封装到JAR包里面,然后结合flink依赖,打包运行即可。注意:JNA可以加载JAR包内部的so库

Q&A

Q:
1.Exception in thread “main” java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.net.DatagramSocket java.net.DatagramSocket.delegate accessible: module java.base does not “opens java.net” to unnamed module @26f67b76

2.Exception in thread “main” java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not “opens java.lang” to unnamed module @1a810908

3.Exception in thread “main” java.lang.reflect.InaccessibleObjectException: Unable to make field private final sun.nio.ch.DatagramChannelImpl sun.nio.ch.DatagramSocketAdaptor.dc accessible: module java.base does not “opens sun.nio.ch” to unnamed module @26f67b76

A:
执行的时候加上以下选项
–add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED

Q:
java.lang.Exception: Could not create actor system
A:
百度发现是打包的flink依赖包版本不对(运行是1.17.1,JAR包用的是1.13.1)

Q:
Exception in thread “main” org.apache.flink.api.common.InvalidProgramException: java.io.FileDescriptor@3a82f6ef is not serializable. The object probably contains or references non serializable fields

A:
DatagramSocket对象内部存在不支持序列化的字段,所以不能定义为SourceFunction派生类的属性。
因为flink分布式的特性,所以JAR包内的类都需要支持序列化。
为了避免该问题,将DatagramSocket挪到run函数内部初始化即可

Q:
JNA加载动态库(以下称为主库)的时候,不会加载主库所依赖的其他动态库

A:
这种情况解决方法有以下几种
1. 导出LD_LIBRARY_PATH
2. 将主库所依赖的动态库编译成.a,一起打包到主库
3. 将依赖库所在的路径添加到能被搜索到的路径,具体请查看“参考链接”

参考链接

在JDK17尝鲜Flink1.17
flink1.12.2之后的版本和scala的兼容性问题
Linux下5种动态库运行时搜索路径的方法

http://www.yayakq.cn/news/520864/

相关文章:

  • 廊坊百度网站排名做网站比较专业的公司
  • 创新型的网站建设网站建设公司东莞
  • 如何建设手机网站首页哈尔滨网站制作公司电话
  • 吉林省建设工程质量监督站网站网站搭建就来徐州百度网络非常好
  • 美食网站设计的代码灯光照明网站建设
  • 沙市做网站weiswordwordpress 繁体语言包
  • 网站开发需求规格说明书学室内设计网站
  • 网站备案好处wordpress装插件吗
  • 巴音郭楞蒙古自治州建设局网站网站seo优化如何做
  • 铭万网站建设wordpress首页出现恶意链接
  • openshift 做网站广州美工培训
  • 郑州网站设wordpress博客 手机网页 wap
  • WordPress资讯网站《网站推广策划》
  • 如何快速提高网站关键词排名上海做网站好的公司有哪些
  • 外贸电商做俄罗斯市场网站网站开发工具需求
  • 什么站做咨询网站好自己做网站商城需要营业执照吗
  • 阿里云esc 可以做几个网站免费外链代发平台
  • 沈阳京科医院是正规医院吗广州网站营销优化开发
  • 网站模板怎么弄的wordpress搞笑主题
  • 保定市做网站内容分发网络CDN可以建设网站吗
  • 如何推广公众号文章南阳网站建设优化
  • WordPress网站注册账户东营网站建设tt0546
  • 学校建立网站网页手游
  • 网站建设合同的主要内容一般网站后台都是哪里做
  • 桂林住房城乡建设厅网站网站域名查询系统
  • 求个网站你们知道的互联网外包平台
  • 做月亮的网站背景图片上海装饰公司10排名
  • 厦门专业网站设计代理网络销售招聘
  • 景宁县建设局网站领优惠券的网站怎么建设的
  • 桥西区附近网站建设价格图标的网站