使用AddOn支持自定义ycommercewebservices的过滤器(Hybris 5.1)

时间:2014-02-14 05:50:00

标签: hybris

我在hybris 5.1中使用插件支持来自定义ycommercewebservices,我没有看到任何添加或修改HTTP过滤器的方法,因为在同步addon及其目标期间会忽略来自addon的web.xml。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您不自定义模板扩展名。为什么这不在论坛上?

答案 1 :(得分:0)

最终,它很简单 - 只需重新声明具有与ycommercewebservices-web-spring.xml相同ID的过滤器,但是在你的addon-web-spring.xml中:

<bean id="baseSiteFilter" class="my.own.SelectBaseSiteFilter" >
        <property name="baseSiteFilterExclusions" ref="baseSiteFilterExclusions" />
        <property name="configurationService"  ref="configurationService" />
        <property name="sessionService" ref="sessionService" />
        <property name="baseSiteService" ref="baseSiteService" />
</bean>

如果您需要添加新过滤器或排除默认过滤器,请在addon-web-spring.xml中重新声明commerceWebServicesFilterChainList:

<alias name="defaultCommerceWebServicesFilterChainList" alias="commerceWebServicesFilterChainList" />
    <util:list id="defaultCommerceWebServicesFilterChainList">
        <!-- generic platform filters -->
        <ref bean="log4jFilter" />
        <ref bean="tenantActivationFilter"/>
        <ref bean="sessionFilter"/>

        <!-- commerceWebservices filters -->
        <ref bean="baseSiteFilter" />
        <ref bean="sessionAttributesFilter" />

        <!-- Security -->
        <ref bean="springSecurityFilterChain"/>

    </util:list>

另外,在安装插件之前,不要忘记将以下行添加到project.properties.template:

ycommercewebservices.additionalWebSpringConfigs.youroccaddon=classpath:/youroccaddon/web/spring/youroccaddon-web-spring.xml

youroccaddon-web-spring.xml将在ycommercewebservices-web-spring.xml之后的spring上下文中添加,因此可以从ycommercewebservices上下文覆盖bean。