2
我有以下的方法簽名的彈簧集成分離器:Spring Integration @Splitter,我修改的標題值發生了什麼?
@Splitter
public List<Message<String[]>> splitCsvIntoSeperateMessages(Message<List<String[]>> message)
的消息有效載荷爲String []的ArrayList。分離器讀取列表中的每一行,創建一個新的消息,將有效負載設置爲List中的數據項,向關聯頭添加CorrelationId,SequenceNumber和SequenceSize,最後返回消息的ArrayList。
問題是,當每個單獨的消息發送到下一個通道時,CorrelationId,SequenceNumber和SequenceSize都將被新值覆蓋。這是預期的行爲還是我錯過了什麼?
代碼段下面:
@Splitter
public List<Message<String[]>> splitCsvIntoSeperateMessages(Message<List<String[]>> message) {
List<Message<String[]>> returnVal = new ArrayList<Message<String[]>>();
String headerId = null;
int sequenceSize = 0;
int sequenceNumber = 0;
for(String[] payload : message.getPayload()){
if(payload[0].equals("HEAD")){
headerId = UUID.randomUUID().toString();
sequenceSize = Integer.parseInt(payload[payload.length-1]);
sequenceNumber=0;
}
sequenceNumber++;
Message<String[]> msg =
MessageBuilder
.withPayload(payload)
.setCorrelationId(headerId)
.setSequenceSize(sequenceSize)
.setSequenceNumber(sequenceNumber)
.build();
returnVal.add(msg);
}
return returnVal;
}
使用Spring集成2.0 M6
你能告訴我在哪裏得到夜間快照嗎?我的理解是sftp在那裏,但我找不到eto下載它? – Norge 2010-08-28 04:58:26
如果您使用maven,您可以按照我寫的博客中的說明操作。 http://iweinfuld.posterous.com/spring-milestones-and-snapshots-with-maven s3browse已不復存在,但您可以使用本地瀏覽器(如mac上的cyberduck)具有相同的效果。 – iwein 2010-09-03 17:40:33
它在M7中適合你嗎? – iwein 2010-09-12 09:02:18