0

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

/一个

4

1 回答 1

2

在 Spring Integration 中,您可以使用拆分将消息拆分为不超过例如 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从列表中一一转发 s。

于 2011-10-07T21:00:36.963 回答