在CQ5.5中如何訂購2個標準HTTP過濾器作爲OSGI組件部署?CQ5.5訂購標準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被調用。
謝謝。
我已經想通了,我可以使用service.ranking命令篩選器作爲OSGI組件。 [吊帶service.ranking] [1] [1]:http://sling.apache.org/site/filters.html – Navi
你應該張貼此作爲回答,然後接受它。 –