【问题标题】:SpringIntegration message size to big, how to splitSpring Integration 消息大小太大,如何拆分
【发布时间】:2023-04-09 06:39:02
【问题描述】:

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

/A

【问题讨论】:

    标签: size jms messages spring-integration


    【解决方案1】:

    在 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&lt;YourMessage&gt;

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-19
      • 2012-08-07
      • 2011-10-21
      • 1970-01-01
      • 2014-08-28
      • 2018-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多