在战争中使用OSGi WAB作为资源包

时间:2012-08-16 13:26:44

标签: internationalization osgi war wab

我目前正在为内部开发的大量Web应用程序开发翻译服务。我遇到的问题是,我们用包含不同语言的属性文件打包所有应用程序以获得i18n支持。

在脑力激荡会议期间建议的一件事是将翻译服务作为OSGi模块。问题是我对OSGi有0次经验,不知道如何去做。进一步的谈话和googleing建议将服务作为WAB进行开发。

我面临的问题是如何从WAB调用资源?是否可能或我走错了路?

任何帮助都会被大大占用。

此致 S上。

2 个答案:

答案 0 :(得分:1)

在不了解更多细节的情况下很难肯定地说,但你可能想要使用wab而不是战争,而不是在战争中。 wab只是与osgi元数据的战争。国际化的一个很好的方法(以及这个想法出现的原因,我猜)是为资源包使用片段。 This article有一个关于开发wab然后添加片段以进行国际化的教程。

我还建议不要尝试直接从osgi包加载资源,因为osgi封装通常会使资源无法访问,除非你使用包导入和导出做丑陋的事情。相反,查找服务并让它进行资源加载。使用声明性服务或蓝图之类的东西比程序化服务访问容易得多。

答案 1 :(得分:0)

除非您特别需要对翻译服务进行运行时重新部署,否则我建议您将其打包为jar并将其包含在每个Web应用程序中。如果您正在使用Maven等,更新服务只会增加依赖项的版本号,重建和重新部署战争。