는 여기에 내가 스플리터 다음과 같이 클래스가 내 문제입니다 : 그렇지 않으면 I을 차단에서분할 후 메시지를 수정하거나 다른 교환에서 헤더를 검색 할 수인가요
<split strategyRef="someClassStrategy">
<method ref="mySplitterBean" method="splitMessage" />
<choice>
<when>
<simple>${property.CamelSplitIndex} == 0</simple>
<!-- 1. calculate something and store result in header, for example set header test=12345 -->
</when>
<otherwise>
<!-- 2. now how can I retrieve "test" header from above exchange (from splitIndex 0) -->
</otherwise>
</choice>
</split>
:
public class MySplitterBean {
public List<Message> splitMessage(Message m) {
List<Message> answer = new ArrayList<Message>();
for (int i=0; i<3; i++) {
DefaultMessage message = new DefaultMessage();
message.setHeaders(m.getHeaders());
message.setBody(m.getBody());
answer.add(message);
}
return answer;
}
}
그리고 경로에를 MySplitterBean에 의해 복사 된 메시지 개체가 있지만 어떻게 든 splint 인덱스 0을 처리하는 동안 분할 후에 만들어진 "test"헤더를 얻고 싶습니다. 그래서 내 질문은 가능한 경우, 어떻게 작동 시키는가?
그래, 그 트릭을해야한다고 생각해. 고마워! – nbaplaya