我从基础文件 com.day.cq.wcm.foundation.profile.impl.ProfileImages 为类 com.xxx.cq.wcm.foundation.profile.impl.TnailImages 创建了一个包。
这是我在这门课上所做的更改
默认基础类 ProfileImages 的宽度和高度在 TnailImages 中具有我们自己的默认宽度和高度。
选择器更改为我们自己的like
@scr.property name="sling.servlet.selectors" values.0="adjust"
values.1="调整.小"
变量更改为 private static final String THUMBNAIL = "small";
元类型注释不会为 CQ5.5 编译我更改了这个 * @scr.component metatype="false"
至
- @组件(立即=真)
这个包编译成功,我在 OSGi felix 控制台中看到它,它处于启动模式。即便如此,我还是重新启动了这个捆绑包以及整个 CQ5。
当我使用以下标签调用图像时
任何地方都没有spas
servlet ThumbNailImages 没有被调用,我在 error.log 中看到以下错误
servletengine 无法发回最后一个块:软件导致连接中止:套接字写入错误
此图像未显示在页面中,firebug 显示无法加载 URL
默认 img 工作正常
com.day.cq.wcm.foundation.profile.impl.ProfileImages 类可在
/libs/foundation/src/impl/src/main/java/com/day/cq/wcm/foundation/profile/impl/ProfileImages.java
这是我的注释
* @Component(immediate = true)
* @scr.service
* @scr.property name="sling.servlet.resourceTypes" value="nt:file"
* @scr.property name="sling.servlet.extensions" values.0="res"
* values.1="jpg"
* values.2="png"
* values.3="gif"
* @scr.property name="sling.servlet.selectors" values.0="adjust"
* values.1="adjust.small"
*/
似乎没有调用这个 servlet,当我调用 http://xyz.com:4502/content/dam/geometrixx/portraits/scott_reynolds.jpg.adjust.small.jpg 我收到 404 Cannot serve request to /content /dam/geometrixx/portraits/scott_reynolds.jpg.adjust.small.jpg 在 org.apache.sling.servlets.get.DefaultGetServlet
3 (2013-05-20 11:02:40) TIMER_END{2,resolveServlet(JcrNodeResource, type=dam:Asset, superType=null, path=/content/dam/geometrixx/portraits/scott_reynolds.jpg)} 使用servlet com .day.cq.dam.core.impl.servlet.BinaryProviderServlet 3 (2013-05-20 11:02:40) TIMER_END{2,ServletResolution} URI=/content/dam/geometrixx/portraits/scott_reynolds.jpg.adjust。 small.jpg 由 Servlet=com.day.cq.dam.core.impl.servlet.BinaryProviderServlet 处理
似乎我的 Servlet TnailImages 没有被调用,它总是会使用默认的 servlet。