繁体   English   中英

OSGi和Java本机接口

[英]OSGi and Java Native Interface

我想开发可以调用Java Native接口的OSGi捆绑软件。 我有几个问题:

  1. 是否可以开发OSGi捆绑包并将其放置在C包装类和JNI中? 有已经开发的示例可以使用吗?

  2. OSGi捆绑软件中的java方法是否可以调用托管bean中的java方法?

最好的祝愿

PS还有一个问题:如何将一个简单的托管bean变成EJB?

通过在包清单中包含Bundle-NativeCode头,您可以相当轻松地以跨平台的非常容易的方式执行此操作。

例如:

Bundle-NativeCode: lib/mylib1.dll ; lib/mylib2.dll ;
  osname=Win32 ;
  processor=x86,
  lib/libmylib1.so ; lib/libmylib2.so ;
  osname=linux;
  processor=x86

将加载

  • 如果操作系统为Win32并且处理器类型为x86,则lib / mylib1.dll和lib / mylib2.dll(从捆绑包内部

要么

  • 如果操作系统为Linux并且处理器类型为x86,则为lib / libmylib1.so和lib / libmylib2.so

这种方法的优点在于,您可以基于该体系结构包含各种不同的本机库,例如,当您调用System.loadLibrary("mylib1");时,OSGi运行时将自动为当前platofmr选择正确的集合System.loadLibrary("mylib1");

这是有关该主题的旧博客: http : //robertvarttinen.blogspot.co.uk/2008/12/bundle-nativecode-in-osgi-manifest.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM