首页 > 编程语言 >SAP Java Connector 组件介绍

SAP Java Connector 组件介绍

时间:2022-11-05 22:55:24浏览次数:52  
标签:JCo Java Connector sapjco3 JVM 64 JNI SAP 加载

SAP Java Connector 3.1 运行时环境由两部分组成:

  1. sapjco3.jar - 包含 JCo 的 Java 运行时类的存档
  2. {library prefix}sapjco3{shared library extension} - 包含 JCo 原生代码的 JNI 库

JCo 的 JNI 库包含用于网络通信的本机代码。 JCo 存档和 JNI 库之间只有松散的耦合,但是 JCo 需要 JNI 库的特定最低版本,该版本通常与分发包中的 JCo 存档一起提供。

注意:如果开发人员使用的是 32 位 JVM,则还需要 32 位 JCo JNI 库,无论是在 32 位还是 64 位操作系统上运行都是如此。

运行时初始化逻辑

当应用程序第一次引用 JCo 类时,它会被关联的类加载器(class loader)加载。

在此过程中,将执行 JCo 的静态初始化程序。该例程将使用以下算法搜索并加载 JCo JNI 库:

  1. 尝试从 sapjco3.jar 文件所在的同一目录加载 sapjco3 JNI 库。

  2. 尝试从 sapjco3.jar 文件所在的平台相关子目录加载 sapjco3 JNI 库。适当的 JNI 库加载路径是通过考虑当前使用的操作系统和 JVM 运行时环境来确定的,并引用以下子目录之一:

ntamd64,ntintel,linuxx86_64,linuxppc64le,linuxs390x,darwinintel64,rs6000_64,hpia64,sunx86_64,sun_64,os390_64,as400_pase_64

  1. 沿着 java.library.path 系统属性中定义的目录路径从左到右搜索 sapjco3 JNI 库,如果找到则从那里加载它。
    注意:如果不手动设置该属性,JVM 通常会在启动时将 OS 特定的库路径环境变量设置为默认的 java.library.path 系统属性。

  2. 通过将此任务委托给它的 System.loadLibrary(String libname) 方法,让 JVM 处理 sapjco3 JNI 库的加载。

如果找不到或无法加载 sapjco3 JNI 库,您将收到 UnsatisfiedLinkError 错误,其中包含操作系统提供的详细信息。

此错误消息可能由以下原因之一引起:

  • 使用上述算法无法找到 sapjco3 JNI 库,因为您无意中将其安装到了错误的目录,或者忘记在操作系统特定的库路径环境变量或 java.library.path 系统属性中指定其目录。
  • 找到的 sapjco3 JNI 库版本太旧。
  • 发现的 sapjco3 JNI 库缺少执行权限标志。
  • 找到的 sapjco3 JNI 库的位宽与 JVM 不同(32 位与 64 位)。
  • 找到的 sapjco3 JNI 库来自不同的 JCo 发行版,不适用于您的操作系统和/或硬件处理器。
  • 找到的 sapjco3 JNI 库需要更高的操作系统版本。

标签:JCo,Java,Connector,sapjco3,JVM,64,JNI,SAP,加载
From: https://www.cnblogs.com/sap-jerry/p/16861586.html

相关文章

  • java 文件类
    java常用的文件操作1~文件的创建(三种不同方法):(1)根据路径构建一个File对象:newFile(Stringpathname)(2)根据父目录文件+子路径构建:newFile(Fileparent,Stringchild)(3)......
  • SAP Spartacus SSR 模式下 index.html 页面的响应逻辑调试
    入口:所有的regularroute都使用universalengine:简而言之,AngularUniversal是Angular的预渲染解决方案。在普通的单页应用程序中,我们通常将数据带到客户端,然后在......
  • JavaScript修改修改图片dpi
    欢迎关注前端早茶,与广东靓仔携手共同进阶​​​​前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~ 一、原理changeDPI提供了2个实用函数,可以更改画布生成的图像的dpi,无......
  • JavaScript修改修改图片dpi
    欢迎关注前端早茶,与广东靓仔携手共同进阶​​​​前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~ 一、原理changeDPI提供了2个实用函数,可以更改画布生成的图像的dpi,无......
  • 关于 SAP Spartacus SSR 3.4.5 版本优化的 reuseCurrentRendering flag
    concurrency:50meansthatOptimizedSsrEnginewillperformatmost50parallelrenderingtasks.支持同时处理50个并发渲染请求。WiththeoptionreuseCurrentR......
  • Java之用正则表达式提取数据
    要将字符串如11月7日10点前反馈提取数据进行存储,可使用正则表达式。代码示例如下:StringactualFeedbackTime="11月7日10点前反馈";Patternptn=Pattern.compile("(\\d+)......
  • SAP ABAP Netweaver 里的用户会话概念
    ASABAP的应用层可以分布在多个应用服务器上。如果一个ASABAP有多个应用程序服务器,它们通常在不同的计算机上实例化。然而,一个或多个ASABAP的多个应用程序服务器......
  • SAP ABAP Netweaver 里的 ABAP 会话概念
    每个用户会话可以包含一到多个ABAP会话。每个ABAP会话都分配有自己的ABAP内存区域,其中可以存储数据簇。调用序列的程序共享对这些集群的访问权。可以按如下方式在......
  • java 编译器
    1.javac介绍2. javac文件系统3. 词法分析4.语法分析之认识树节点5.语法分析之建立抽象语法树6.符号表的组织7. 填充符号表8. 插入式注解的实现9.语......
  • IDEA怎么将目录转换成资源,在目录下为什么不能创建包或者是java类的问题
    在学习建立Maven模块的时候出现的问题,理应该上面红色的那一块应该和下面的那一块是一样的,但是不知道为什么不一样,而且,也无法在xxxx这个目录下面建立包或者是java类  ......