首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java设计:解耦JNI库

Java设计:解耦JNI库
EN

Stack Overflow用户
提问于 2014-02-10 10:56:13
回答 1查看 61关注 0票数 1

我有两个同一个第三方设备的C库。区别在于一种(例如A库)比另一种(例如库B)具有更多的功能。我有两个大平台在使用这个设备。平台A使用库A,平台B使用库B。

为了支持更多的平台和系统,我正在考虑是否应该创建设备函数调用的Web服务(例如SOAP)。如果是这样的话,不改变现有函数接口的库的任何更改都不需要在大型平台上重新编译。另外,如果引入一个新的平台,则可以重用库和web服务。设计如下:

平台<-- SOAP ->轻量级Web服务器<-- JNI ->设备库

这是个好设计吗?有什么缺点吗?

此外,由于有两个库,我是否可以创建一个支持这两个库的Java类?如果是,我如何处理未实现的方法?

谢谢你提前给我建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-10 11:02:33

这看起来更像是一个依赖关系管理问题,可以通过声明性依赖管理工具来解决。

您考虑过将DLL作为独立的工件存储在类似于附件的服务器依赖工具中吗?这样,您就可以使用带有适当DLL库工件的类似maven的工具来准备不同的部署配置文件(假设在普通的java代码库中没有代码更改)。

这样就可以在部署时解决所有问题,并且在运行时不需要额外的webservices来查找设备库(这会导致其他问题,比如服务的可用性,或者从哪里开始发布)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21675256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档