我目前正在为一系列内部开发的web应用程序开发翻译服务。我面临的问题是,为了支持i18n,我们用包含不同语言的属性文件打包了所有的应用程序。
在头脑风暴会议期间提出的一件事是将翻译服务作为OSGi模块。问题是我没有使用OSGi的经验,也不知道该怎么做。进一步的讨论和谷歌搜索建议将这些服务作为WAB来开发。
我面临的问题是如何从WAB调用资源?这是完全可能的,还是我走错了路?
任何帮助都会被大量占用。
关于S。
发布于 2012-08-19 13:38:46
在不了解更多细节的情况下很难确定,但您可能希望使用wab而不是war,而不是在war中。wab只是与osgi元数据的战争。国际化的一个很好的方法(我猜这也是这个想法产生的原因)是将片段用于资源包。This article有一个教程,既可以开发wab,也可以为国际化添加片段。
我还建议不要尝试直接从osgi包加载资源,因为osgi封装通常会使资源无法访问,除非您使用包导入和导出做一些丑陋的事情。取而代之的是,查找服务并让其执行资源加载。使用诸如声明式服务或蓝图之类的东西比使用编程服务访问要容易得多。
发布于 2012-08-21 15:52:07
除非您特别需要重新部署翻译服务的运行时,否则我建议您将其打包为jar,并将其包含在每个web应用程序中。如果您使用的是Maven或类似工具,那么更新服务只需要升级依赖项的版本号、重新构建和重新部署war即可。
https://stackoverflow.com/questions/11988204
复制相似问题