2016-06-23 1 views
0

Set Message Processor를 통해 페이로드를 CopyOnWriteArrayList로 보내야하는 흐름에 대해 MUnit을 구현 중입니다. 페이로드 데이터는 파일에서 가져옵니다.쉼표로 구분 된 데이터를 CopyOnWriteArrayList로 변환하여 MUnit에서 페이로드로 전송하는 방법

파일에는 쉼표로 구분 된 XML 데이터가 있습니다. 이 데이터를 CopyOnWriteArrayList로 보내야합니다.

MEL에서 사용할 수있는 Java 클래스를 도와주세요.

아래 업데이트를 검색 할 상세 사항 : MUNIT 테스트에 대한

, 나는 형식 [First_XML_Data, Second_XML_Data]의 같은 파일의 데이터를 가지고있다. First_XML_Data 및 Second_XML_Data는 모두 XML 데이터입니다. 당신이 볼 수 있듯이, 내가 설정 메시지 프로세서의 페이로드를 준비해야

공용 클래스 XMLDATA는 AbstractTransformer {

@Override 
protected Object doTransform(Object src, String enc) throws TransformerException { 

     CopyOnWriteArrayList<String> list = (CopyOnWriteArrayList<String>) src; 

} 

}

를 확장 : 노새 흐름 그래서 기본적으로 첫 번째 구성 요소는 다음과 자바 트랜스포머 그래서이 Java 변환기로 전달 될 수 있습니다. 이제 MUnit 테스트 메시지 프로세서에 다음 MEL이 있습니다.

[Arrays.asList ((getResource ('src/main/resources/xml_data.xml'). asString(). split (', ')))]]

응용 프로그램에서 형식 캐스트 예외가 발생합니다. 그래서 내가 어떻게 페이로드를 CopyOnWriteArrayList로 보내야하는지 알 필요가있다. 데이터가 너무 커서 파일에서 가져옵니다.

감사합니다.

+0

문제의 어떤 부분에 문제가 있습니까? –

+0

쉼표로 구분 된 XML 데이터 란 무엇입니까? 그것은 모순처럼 들린다. –

+0

처리를 위해 보내야하는 페이로드는 CopyOnWriteArrayList 유형이어야합니다. 데이터가 너무 큽니다. 그러므로 나는 MEL에서 MUnit matcher를 통해 파일을 가져왔다. 그래서 거기에 처리 할 수 ​​/ CopyOnWriteArrayList –

답변

0

Arrays.asList()을 사용하는 대신 CopyOnWriteArrayList을 구성해야합니다.

#[new java.util.concurrent.CopyOnWriteArrayList(getResource('src/main/resources/xml_data.xml').asString().split(','))]