2015-02-06 1 views
1

Есть ли у вас возможность ограничить проверку Spring webflow definition (flow.xml), чтобы посмотреть только конкретный шаблон jar из моей папки WEB-INF/LIB? Мое веб-приложение, имеющее около 700 банок в папке WEB-INF/lib, в которой я хочу, чтобы проверка выполнялась только для определенного шаблона имени jar (например: имя jar начинается с «com.xxx»). Я уже проверил сканирование местоположения, но я хочу ограничить количество сканирования банок, чтобы оно было быстрее.Как пропустить определение веб-потока (flow.xml) для сторонних баннеров

Спасибо, Кришна

ответ

0

Не уверен, что я понять ваш вопрос правильно. Как настроен ваш компонент «flowRegistry»? Или, еще лучше, все ваши настройки весеннего webflow?

Возможные решения:

1. Вы можете передать в диких карт в "проточного местоположения модель" (например, значение = "/ **/* - flow.xml") для получения шаблона поиска.

2. Вы также можете установить базовый путь атрибут потока-реестра, чтобы указать, где корневой каталог потока (сканирование) начнется.

3., наконец, вы можете также явно объявить поток, используя путь потока расположение = «...»

Образец конфигурации ниже показано, как использовать все 3 возможных конфиги, указанных выше.

Пример конфигурации:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:webflow="http://www.springframework.org/schema/webflow-config" 
     xsi:schemaLocation=" 
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
      http://www.springframework.org/schema/webflow-config http://www.springframework.org/schema/webflow-config/spring-webflow-config.xsd">  
<!-- The registry of executable flow definitions --> 
    <webflow:flow-registry id="flowRegistry" base-path="/WEB-INF/flows/s" flow-builder-services="flowBuilderServices"> 
     <webflow:flow-location-pattern value="/**/*-flow.xml" /> 
     <!-- <webflow:flow-location path="/flows/main-flow.xml" />--> 
    </webflow:flow-registry> 
+0

Я уже использую шаблон местоположения как . Каким бы ни был шаблон местоположения, весна просматривает все банки в каталоге WEB-INF/lib. Я хочу знать, как мы можем отфильтровать эти jar-сканы, чтобы весна сканировала только в указанном имени jar, соответствующем критериям фильтра. Например: в моем каталоге WEB-INF/lib, если у меня есть 700 банок, и я знал, что есть только 10 банок, которые нужно отсканировать, чтобы искать файлы flow.xml (все остальные - другие банки с зависимостями, такие как журналы, весовые ящики). – Krishna

+0

Я не думаю, что вы должны сканировать свой каталог lib. Я подозреваю, что ваша структура проекта НЕ использует стандартную конвенцию. Используемый ресурс загрузчика ресурсов - это стандартный загрузчик ресурсов, который используется всеми весенними проектами (spring-core.jar). Я рекомендую разместить точки останова в следующих местах: 1) org.springframework.webflow.config.FlowRegistryFactoryBean registerFlowLocationPatterns() 2) org.springframework.core.io.support.PathMatchingResourcePatternResolver getResources (String locationPattern). Попытайтесь выяснить, почему сканируется каталог lib. – Selwyn

+0

Почему ваши файлы flow.xml встроены в банки? – Selwyn

Смежные вопросы