2016-08-10 2 views
0

너무 단순 해 보이지만 며칠 째 시도하고 아래의 스크린 샷과 같이 강조 표시된 값을 검색 할 수 없기 때문에 이것에 대해 묻지 말아야한다는 것을 알고 있습니다. 나를 미치게하고있어. 나는 Mule 평가를 사용하여 MEL 표현식을 몇 가지 조합으로 시도했지만 여전히 운이 없다. 나는 시도했다 :문자열 값을 가져 오는 MEL 표현식을 구성하십시오.

#[payload.file] = returns null 
#[payload.file.path] = returns exception 
#[payload.path] = returns null 

내가 너무 심하게 그 "경로"값을 검색 할 수 있어야합니다. 신참 여기에 조언 해주세요.

Click this. How to retrieve this value?

+0

. 파일 커넥터를 사용하면 일반적으로 파일 경로와 이름을 message.inboundProperties에서도 사용할 수 있습니다. – jvas

답변

1

당신이 클래스 poc.DeleteOnCloseFileInputStream를 공유 할 수 있습니까? 액세스 수정자를 모른 채, 우리는 그 속성을 읽는 법을 모른다.

그러나 다른 게시물의 가능한 동일한 클래스를 참조하면 DeleteOnCloseFileInputStream입니다. 액세스 한정자는 비공개이며 노출 할 수있는 방법이 없습니다. 따라서 경로 값을 가져올 수 없습니다.

하지만 클래스를 수정할 가능성이 있다면 getter 메서드를 추가하는 것이 좋습니다. 예 : public File getFile() { return file; }.

마지막으로, 당신은이 MEL을 사용하여 경로 값을 얻을 수있을 것입니다 : 당신은뿐만 아니라 당신의 흐름을 게시 할 경우 도움이 될 #[payload.file.path]

+0

감사합니다 @ sulthony-h! File private 변수를 public으로 변경 했으므로 이제 # [payload.file] 표현식으로 액세스 할 수 있습니다. MuleESB와 Java로 작업하는 것은 이번이 처음입니다. 많은 학습 곡선과 나는 바보 같은 질문이 올 것이라고 믿는다. ( –