在 CQ5.5 中,我如何订购 2 个标准 HTTP 过滤器部署为 OSGI 组件?
问题是 2 个过滤器必须按照 FilterA 先运行然后 FilterB 的顺序运行。
如何按顺序订购 2 个过滤器?
您知道是否有任何 OSGI 或 SCR 属性可以让我订购 2 个过滤器以便一个接一个地运行?
例如:
过滤器 A
@Component
@Service
@org.apache.felix.scr.annotations.Properties({
@Property(name = "pattern", value = "/.*"),
@Property(name = Constants.SERVICE_RANKING, intValue = 99999, propertyPrivate = false)
})
public class FilterA implements implements javax.servlet.Filter {
}
FilterB
@Component
@Service
@org.apache.felix.scr.annotations.Properties({
@Property(name = "pattern", value = "/.*"),
@Property(name = Constants.SERVICE_RANKING, intValue = 100000, propertyPrivate = false)
})
public class FilterB implements implements javax.servlet.Filter {
}
我想先运行FilterA,然后再运行FilterB。
如果我在 CQ5.5 上将上述过滤器部署为 OSGI 包,我只会看到在 HTTP 白板控制台上触发了 FilterB。在我的 CQ5.5 登录请求流程中,我什至没有看到 FilterA 被调用。
谢谢。