Java + JNI/JNA

2020-09-14 20:16发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好。

我们在Windows Server 2012上使用NetweaverJava。Java版本为1.4.2 VM 4.1。 它是否支持JNI或/和JNA? 哪种方法(JNI或JNA)最好在"托管"和"本机"代码之间进行交互? 我们需要从Java应用程序中调用"本机"库(dll)函数。

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好。

我们在Windows Server 2012上使用NetweaverJava。Java版本为1.4.2 VM 4.1。 它是否支持JNI或/和JNA? 哪种方法(JNI或JNA)最好在"托管"和"本机"代码之间进行交互? 我们需要从Java应用程序中调用"本机"库(dll)函数。

谢谢。

付费偷看设置
发送
1条回答
Violet凡
1楼 · 2020-09-14 20:56.采纳回答

亲爱的亚瑟,


我认为您是指Java本机接口(JNI)和Java本机访问(JNA)。 对于AS Java,支持JNI,但并非唯一。 它被集成为Sap Java Connector库中的一个层,并用于内部中间件调用(JNI/JRfc层)。 基本上,SAP Java Connector运行时环境包括3个部分:


1。 sapjco.jar-包含JCo的Java运行时类的Java归档。
2。 {library prefix} sapjcorfc {共享库扩展}-包含JCo本机代码的JNI运行时库。
3。 {library prefix} rfccm {共享库扩展名}(在Windows系统上为librfc32.dll)-JCo用于处理往返于SAP系统的远程功能调用的本机RFC库。


JCo的JNI运行时库充当JCo的Java类与包括网络通信在内的本地RFC之间的链接部分。 它的主要功能任务是在Java和本机RFC数据类型之间进行所有编组操作。 因此,JCo的Java运行时类及其JNI运行时库彼此紧密依赖。 为了正确安装,它们的版本号和日期必须相等。 与此相反,JNI运行时库和本机RFC库之间只有松散的耦合。 JNI库将与本机RFC库交换RFC数据,并将RFC的管理和网络通信委托给它。 因为使用的RFC API将保持稳定并且向下兼容,所以JCo仅需要本机RFC库的特定最低版本。


有关中间件调用的更多信息,请参见在线帮助: https://help.sap.com/doc/saphelp_46c/4.6C/ja-JP/32/43f3b8d99d11d380a400c04fada2a1/content.htm?no_cache=true


有关该体系结构的更多信息,请参见联机帮助: https://help.sap.com/saphelp_nwpi711/helpdata/en/48/707a5f872c1b5ae10000000a42189c/frameset.htm


有关使用JCo库的更多信息,请参见链接: https://support.sap .com/en/product/connectors/jco.html


并检查SAP注意:1077727-SAP JCo 3.0版本和支持策略。


请注意,自2018年1月1日以来不再支持JVM 1.4X/4.X和SAP Netweaver 7.0X版本。JVM4和NW 7.0X使用SAP JCo 2,并且不支持 年。


对于JNA,我找不到用于NW AS Java的任何标准SAP文档。


最好的问候,
BarnabásPaksi

一周热门 更多>