首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CQ5 -将servlet的业务逻辑分离到一个独立的包中

CQ5 -将servlet的业务逻辑分离到一个独立的包中
EN

Stack Overflow用户
提问于 2014-10-21 21:14:36
回答 2查看 288关注 0票数 0

我对java,osgi,bundles,cq5控制台等都是新手。

有没有人能给我指个教程或起点,我可以从中学到如何做我想要达到的目标。

基本上,我们在3-4个CQ5网站中有共同的搜索功能,所有这些网站都驻留在一个cq实例上。这个相同的功能在所有网站中都是作为servlet实现的,并使用javascript从客户端调用。冗余代码...我们希望: a)从servlet重复驻留的所有websiteName-core包中取出该servlet的代码。b)创建一个单独的、独立的、可安装的OSGI包,它只包含一个servlet。然后,我们想把这个独立的捆绑包从我们所有的CQ5网站的客户端调用。

为了避免代码冗余,我们希望让这个通用的搜索包可以发布,这样其他开发团队就可以在他们的项目中使用它,只需在他们的控制台中安装它并调用servlet即可。

长话短说。我想创建一个具有servlet的OSGI包。

我希望在这里对整个游戏有一个了解,并希望获得一个从头到尾解释它的教程链接。

EN

回答 2

Stack Overflow用户

发布于 2014-10-22 00:48:20

您可以从将搜索代码转换为单独的maven多模块project.The原型开始,创建一个原型的说明可以在adobe的文档站点(link)上找到。

maven多模块项目将有两个模块的Bundle和content。Bundle将包含所有的servlet、OSGI服务和后端内容。内容模块将拥有所有的UI和创作相关的东西,如模板和组件。它映射到CQ服务器上的存储库。UI节点被序列化,并作为XML文档存储在平面文件系统上。

因为它本身就是一个maven项目,所以它的依赖项将是自包含的。在bundle模块中,添加搜索servlet和所有必需的类。这个项目的编译包将是可装运的。

只要该软件包安装在服务器上,任何其他网站都可以调用它。

sling中的Servlet被实现为javax.servlet.Servlet类的OSGI服务。Servlet类的任何导出服务都将被sling servlet解析器识别,您可以在此link中获得更多详细信息

票数 1
EN

Stack Overflow用户

发布于 2014-10-28 17:08:21

如果您想创建一组相关的包并将它们作为CQ内容包分发,Sharath Madappa的答案是正确的。

如果您只想创建一个捆绑包来打包一些OSGi服务(包括servlet),那么您只需要使用所需的元数据构建捆绑包jar。Apache Sling GET servlets bundle就是一个很好的例子。

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

https://stackoverflow.com/questions/26487654

复制
相关文章

相似问题

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