【发布时间】:2023-04-09 06:39:02
【问题描述】:
我有一个带有 JMS 端点的 SprintIntegration 系统。消息的大小限制为 4mb。我的结果比那个大,我如何让 SI 把它分成几条消息?
/A
【问题讨论】:
标签: size jms messages spring-integration
我有一个带有 JMS 端点的 SprintIntegration 系统。消息的大小限制为 4mb。我的结果比那个大,我如何让 SI 把它分成几条消息?
/A
【问题讨论】:
标签: size jms messages spring-integration
在 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 将获取此列表并从列表中一一转发YourMessages。
【讨论】: