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