2014-11-10 4 views
1

사용자 정의 xml 파일을 룰 흐름에로드하는 방법을 찾으려 고하고이를 변수로 가져올 수 있습니다. 예를 들면;Mule ESB - Mule 흐름에서 config xml (사용자 정의) 파일을로드하는 방법

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <record> 
     <LastName>Smith</LastName> 
     <Sales>16753</Sales> 
     <Country>UK</Country> 
     <Quarter>Qtr 3</Quarter> 
    </record> 
    <record> 
     <LastName>Johnson</LastName> 
     <Sales>14808</Sales> 
     <Country>USA</Country> 
     <Quarter>Qtr 4</Quarter> 
    </record> 
</data-set> 

도와주세요. 아래의 참조를 검색 할

<spring:beans> 
    <spring:import resource="domain-A-config.xml" /> 
    <spring:import resource="domain-B-config.xml" /> 
    <spring:import resource="admin-config.xml" /> 
    </spring:beans> 

: - - :

답변

2

나는 @Ryan Hoegg하여 답을 따라 몇 가지 수정 후 내 대답은 다음과 같습니다 :

글로벌 요소 :

<spring:beans> 
    <spring:bean id="LoadFile" name="Bean" class="java.lang.String"> 
     <spring:constructor-arg> 
      <spring:bean id="Test" name="org.springframework.util.FileCopyUtils" class="org.springframework.util.FileCopyUtils" factory-method="copyToByteArray"> 
       <spring:constructor-arg type="java.io.InputStream" value="classpath:MSG_IDENTIFIER.xml"/> 
      </spring:bean> 
     </spring:constructor-arg> 
    </spring:bean> 

</spring:beans> 

검색 :

<set-variable variableName="Contents" value="#[app.registry['LoadFile']]" doc:name="Variable"/> 

PS - 파일을 src/main/resources에 넣습니다.

1

한 가지 방법이다 this Stack Overflow question에 설명 된대로 파일 내용으로 봄 빈을 작성하십시오. 그런 다음 MEL 사용하여 참조 할 수 있습니다 :

<set-variable variableName="niftyData" value="#[app.registry['myBeanName']]" /> 
+0

감사합니다. 이것은 잘 동작했다. 그냥 명확히하기 위해, 나는 대답에 대한 흐름을 추가하고있다. – jvas