OSGi和Java本地接口
问题描述:
我想开发可以调用Java本地接口的OSGi包。我有几个问题:OSGi和Java本地接口
是否有可能开发OSGi包并放置它C包装类和JNI?是否已经开发了可以使用的例子?
是它放置在OSGi包调用放置到托管bean的Java方法可能的Java方法?
最良好的祝愿
附:还有一个问题:我怎样才能使一个简单的托管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
将加载
- LIB/mylib1.dll和lib/mylib2.dll(从里面束)如果OS是Win32和处理器类型是86
或
- 的lib/libmylib1.so和lib/libmylib2.so如果操作系统是Linux和处理器类型为86
这种方法的好处是,你可以包括基于架构的各种不同的本地库,和OSGi运行时会自动选择正确的设置当前platofmr时,例如,呼叫System.loadLibrary("mylib1");
这里是一个老博客的题目是http://robertvarttinen.blogspot.co.uk/2008/12/bundle-nativecode-in-osgi-manifest.html
是,两者都是可能的。我已经为Apache Karaf做了这个,但我怀疑你正在使用不同的容器。你正在使用哪个容器? – 2012-02-05 15:50:34
Apache Felix。我使用Netbeans。 – 2012-02-05 15:52:30
我以为Netbeans是一个IDE,而不是应用程序服务器。你正在创建一个Netbeans插件吗? – 2012-02-05 15:54:43