2015-02-06 1 views
1

WEB-INF/LIB 폴더의 특정 jar 패턴만을보기 위해 spring webflow 정의 (flow.xml) 스캔을 제한 할 수 있습니까? 내 웹 응용 프로그램은 WEB-INF/lib 폴더에 약 700 개의 병이 있고 지정된 jar 이름 패턴 (예 : jar 이름이 "com.xxx"로 시작)에 대해서만 검사를 수행하려고합니다. 나는 이미 위치 패턴 스캔을 수행했지만, 병 스캔 횟수를 제한하여 스캔 속도를 높이고 싶습니다.제 3 자 jars를위한 웹 플로우 정의 (flow.xml) 스캔 방법

감사합니다, 크리슈나

답변

0

내가 질문을 제대로 이해하고있어 확실하지. "flowRegistry"빈은 어떻게 구성되어 있습니까? 또는 더 나은 아직 전체 봄 webflow 구성?

가능한 해결책 :

1. 당신은 "흐름 위치 패턴"에 와일드 카드로 전달할 수 있습니다 (예를 들어, 값 = "/ **/* - flow.xml") 검색 패턴을 제공합니다.

2.는 또한 흐름 (스캔)의 루트 디렉토리가 시작 위치를 나타냅니다 흐름 - 레지스트리에 기본 경로 속성을 설정할 수 있습니다.

3. 마침내 당신은 명시 적으로 흐름 위치 경로를 사용하여 흐름을 선언 할 수 = "..."

아래의 샘플 구성은 위에서 언급 한 3 가능한 CONFIGS를 사용하는 방법을 보여줍니다.

샘플 구성 : 유동 위치 패턴 값 = "클래스 경로 */META-INF/자원/xyzweb

<?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 개의 jar 파일이 있고 flow.xml 파일을 찾기 위해 검사해야하는 jar 파일이 10 개 밖에 없다는 것을 알았습니다. 나머지는 로깅, 스프링 코어 jar와 같은 다른 종속성 jar 파일입니다. – 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 파일이 jar 파일에 포함 된 이유는 무엇입니까? – Selwyn