2015-11-25 2 views
2

Я написал перехватчик в одном из моих проектов, чтобы перехватить все запросы. Поэтому, как правило, в весеннем проекте я буду делать нормальную сборку и запускать сервер, и мои изменения, связанные с перехватчиком, начнут отражаться. Однако это не похоже на проект гибридов. Нужно ли делать обновление в hybris hac? И если я сделаю то из доступных ниже перечисленных опций, какие варианты мне нужно выбрать и почему. 1. Обновление работает система 2. Очистка конфигурации HMC из базы данных 3. Создание необходимых данных типов 4. локализуютHybris HAC Update Scenario

Спасибо, Ашиша

ответ

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, - нет необходимости в системе обновлений или что-то в этом роде. Просто «муравьино очистить все», чтобы перекомпилировать, чтобы забрать новые классы перехватчиков, и перезапустить сервер, чтобы получить изменения в Spring cornfiguraton.

+0

работает отлично. Спасибо за ваше время. Однако я хотел бы, чтобы вы объяснили мне больше, когда нужно выполнить обновление и какова разница между указанными ниже пунктами. 1. Обновить запущенную систему. 2. Очистить конфигурацию hMC из базы данных. 3. Создать важные данные. –

+0

Необходимо выполнить обновление. если вы изменили какие-либо элементы Jalo внутри расширения или добавили новые расширения/дополнения, которые вводят новые элементы Jalo. Что касается других вопросов - они довольно понятны. Здесь есть хорошая документация, предоставленная здесь hybris - https://wiki.hybris.com/display/release5/Initializing+and+Updating+the+hybris+Commerce+Suite#InitializingandUpdatingthehybrisCommerceSuite-UpdateRunningSystem –

+0

Спасибо большое микрофон. Конечно, это было полезно. –

1

Предполагая, что вы не сделали никаких изменений в какой-либо основной объектов данных (элементы Jalo), вам не нужно будет запускать обновление в hAC hybris.

Вы должны просто внести изменения, запустить муравьиную очистку с платформы, а затем запустить экземпляр ECB гибрида, и ваши изменения будут видны.

+0

он отлично работает микрофон. спасибо :) однако у меня есть еще одно сомнение, и я надеюсь, что вы не возражаете прояснить это, что если я вношу изменения только в один проект (расширение), то есть ли способ построить именно этот конкретный проект и заменить банку (или этот конкретный файл в моей банке) вместо того, чтобы запускать ant clean all, поскольку он создает все расширения. Я пытаюсь сэкономить время. –

+1

Это нормально, чтобы запускать муравьиную сборку на соответствующем расширении. –

2

Чтобы ответить на вторую часть вашего вопроса, я перечислил по крайней мере одну причину выбора каждого типа опции. Надеюсь это поможет.

  1. Обновление системы - требуется при изменении определения типа гибрида. Например, изменение содержимого файла <extnesion-name>-items.xml
  2. Очистить конфигурацию hMC из базы данных - Если вы решили сохранить конфигурацию hmc в базе данных и сменить ее. Например, изменение содержимого в файле hmc.xml
  3. Создание важных данных - при изменении содержимого в файлах impex, следующих за шаблоном именования essentialdata*.impex.
  4. Типы локализации - если в файлах свойств есть локализация.например, изменение содержимого в файле <extension-name>-locales_en.properties