我在我的一个项目中编写了一个拦截器来拦截所有请求。因此,通常在spring项目中,我将进行正常构建并启动服务器,并且与拦截器相关的更改将开始反映。然而,hybris项目似乎并非如此。 我是否还需要在hybris hac中进行更新?如果我这样做,那么下面提到的选项中我需要选择哪些选项以及为什么。 1.更新运行系统 2.从数据库中清除hMC配置 3.创建基本数据 4.本地化类型
谢谢, 阿希什
答案 0 :(得分:2)
要回答问题的第二部分,我列出了选择每种选项的至少一个原因。希望这会有所帮助。
<extnesion-name>-items.xml
hMC
配置 - 如果您已选择在数据库中保留hmc配置并进行更改。例如,更改文件hmc.xml
essentialdata*.impex
的命名模式。 <extension-name>-locales_en.properties
答案 1 :(得分:1)
假设您没有对任何基础数据对象(Jalo项目)进行任何更改,那么您将无需在hybris hAC中运行更新。
您应该能够进行更改,从平台运行ant clean all然后启动hybris ECP实例,您的更改将会显示。
答案 2 :(得分:0)
如果这是一个普通的Spring MVC拦截器,那么它应该可以正常工作。 您是否在您正在使用的店面扩展中检查了弹簧配置?
例如,看一下加速器Spring MVC配置文件:
hybris/bin/ext-template/yacceleratorstorefront/web/webroot/WEB-INF/config/spring-mvc-config.xml
这里有一些开箱即用的例子:
<mvc:interceptors>
<ref bean="beforeControllerHandlerInterceptor" />
<ref bean="beforeViewHandlerInterceptor" />
<ref bean="csrfHandlerInterceptor" />
</mvc:interceptors>
作为示例,控制器处理程序拦截器之前的默认值定义为:
<!-- Interceptor that runs once per request and before the controller handler method is called -->
<alias name="defaultBeforeControllerHandlerInterceptor" alias="beforeControllerHandlerInterceptor" />
<bean id="defaultBeforeControllerHandlerInterceptor" class="de.hybris.platform.yacceleratorstorefront.interceptors.BeforeControllerHandlerInterceptor" >
<property name="beforeControllerHandlers">
<ref bean="beforeControllerHandlersList" />
</property>
</bean>
引用:
<alias name="defaultBeforeControllerHandlersList" alias="beforeControllerHandlersList" />
<util:list id="defaultBeforeControllerHandlersList" >
<!-- List of handlers to run -->
<bean class="de.hybris.platform.yacceleratorstorefront.interceptors.beforecontroller.SecurityUserCheckBeforeControllerHandler" />
<bean class="de.hybris.platform.yacceleratorstorefront.interceptors.beforecontroller.RequireHardLoginBeforeControllerHandler" >
<property name="userService" ref="userService"/>
<property name="redirectStrategy" ref="redirectStrategy"/>
...
</bean>
<bean class="de.hybris.platform.yacceleratorstorefront.interceptors.beforecontroller.DeviceDetectionBeforeControllerHandler" />
...
</util:list>
因此,你可以使用带有自己实现的别名覆盖它,或者在列表中添加其他控制器处理程序。
由于底层数据模型没有变化 - 这只是连接Spring MVC相关类 - 不需要更新系统或类似的东西。只是一个干净的所有&#39;重新编译以获取新的拦截器类,并重新启动服务器以获取Spring cornfiguraton中的更改。