我正在尝试从/libs/foundation/src/impl/src/main/java/com/day/cq/wcm/foundation/pro文件/impl/ProfileImages.java扩展ProfileImages servlet。
并捆绑为OSGI服务。
我有以下注释
@Component(immediate=true)
@SlingServlet(
resourceTypes = {"nt:file"},
methods = {"GET"},
selectors = {"adjust","adjust.small"},
extensions = {"res", "jpg", "png", "gif"}
)我在OSGI控制台中看到了捆绑服务和服务。然而,它并没有像以前的ProfileImages servlet那样做。
如果调用以下ProfileImages,则创建缩略图
reynolds.jpg.prof.thumbnail.100.100.jpg
如果我的servlet被调用,我应该得到相同的响应。
reynolds.jpg.adjust.small.100.100.jpg
但是我得到的是404,这是来自DefaultGetServlet的
似乎Sling servet无法解决我的servlet
我需要知道的一件事是如何更新我的服务。
Apache Resolverorg.apache.sling.servlets.resolver
我的servlet在sling servlet解析器中执行与以下服务相同的操作
服务ID 843类型: org.apache.sling.api.resource.ResourceProvider 描述: /libs/foundation/components/primary/nt/file/prof/thumbnail.gif.servl et,/libs/foundation/components/primary/nt/file/prof.gif.servlet,/libs/foundation/components/primary/nt/file/prof/thumbnail.res.servle t,/libs/foundation/components/primary/nt/file/prof.jpg.servlet,/libs/foundation/components/primary/nt/file/prof.png.servlet,的Servlets/libs/foundation/components/primary/nt/file/prof/thumbnail.png.servle t,/libs/foundation/components/primary/nt/file/prof/thumbnail.jpg.servle t,/libs/foundation/components/primary/nt/file/prof.res.servlet
我的服务应该列在带有id的吊索解析器中
我正在使用CRXDE web版本进行开发,我需要做什么配置才能在over解析器中获得我的服务?
发布于 2013-06-11 15:57:04
您的servlet无法解析,因为它没有在声明性服务运行时注册。@Component和@SlingServlet注释不会在运行时进行评估,它们是Apache插件项目的一部分,该项目提供了一个maven插件和ant任务来创建"OSGi声明性服务“描述符。http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin.html
要将Servlet注册为OSGi服务,需要一个OSGI/serviceComponents.xml文件。
因此,如果您计划使用scr注释,那么在上传到CQ5之前,恐怕不会使用构建生命周期工具来构建您的CQ5包。否则,必须手动创建服务组件文件。
https://stackoverflow.com/questions/16682170
复制相似问题