SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

ABAP SICF

SICF里的node是树上的节点。

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

如果当前节点的handler class为空:

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

则回溯到其parent节点,直至定位到一个有handler class的node位置。

Hybris

通过debug会看到有一堆的filter参与进去:

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain
SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain
SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain
SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain
SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain
SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain
SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

Hybris帮助文档有一些常用filter的介绍:

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

上面debug screenshot里诸多的filter是如何串成一个chain的?在storefront的web.xml里查找到filter chain的名称:storefrontTenantFilterChain
filter-class是Spring标准的class

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

再到config folder下找到spring-filter-config.xml,把chain id storefrontTenantDefaultFilterChain抄下来:

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

这个chain里包含的所有filter就定义在这里:

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

上面这些filter都是Hybris开发人员开发的filter,按照顺序出现在runtime chain call里。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain