Spring Integration消息大小太大,如何拆分

时间:2011-09-29 14:11:17

标签: size jms messages spring-integration

我有一个带有JMS端点的SprintIntegration系统。消息的大小限制为4mb。我有比那更大的结果,我如何让SI将其分成几条消息?

/ A

1 个答案:

答案 0 :(得分:2)

在Spring Integration中,您可以使用Splitter将邮件拆分为不超过,例如4MB。

 
<int:splitter id="splitter" 
              ref="splitterBean" 
              method="split" 
              input-channel="inputChannel" 
              output-channel="outputChannel" />

<beans:bean id="splitterBean" class="your.MessageSplitter"/>

或使用@Splitter注释。

当消息进入拆分器时,您将在your.MessageSplitter内应用拆分逻辑,并返回List<YourMessage>

 
public class MessageSplitter {

    public List<YourMessage> split( HugeMessage hugeMessage ) {

        List nicelySizedMessages = new ArrayList<YourMessage>();

        // splitting logic... that would parse "hugeMessage" and split it to
        // nicelySizedMessages.add( ... ) "YourMessage"s

        return nicelySizedMessages;
    }
}

Spring Integration将采用此列表,并逐一从列表中转发YourMessage