Understand how to clean store if we have exception between Splitter and Aggregator or recipient-list-router and Aggregator in Spring IntegrationSpring splitter/aggregator handling exceptionsSpring Integration 2 - Splitter only returns the first elementSpring Integration - Gateway - Splitter - Aggregator with JMSSpring splitter/aggregator handling exceptionsSpring integration: how to handle exceptions in services after an aggregator?Splitter returning empty array list spring integrationHow to ignore ChannelResolutionException in a Spring Integration router?spring integration - splitter and aggregatorSpring integration - how to split list of object to individual spring integration message using splitterSpring Integration Aggregator or Router the right pattern?Spring Integration splitter and aggregator configuration

Re-submission of rejected manuscript without informing co-authors

Can a planet have a different gravitational pull depending on its location in orbit around its sun?

Why doesn't a const reference extend the life of a temporary object passed via a function?

Is Social Media Science Fiction?

What causes the sudden spool-up sound from an F-16 when enabling afterburner?

Are white and non-white police officers equally likely to kill black suspects?

Finding files for which a command fails

Doomsday-clock for my fantasy planet

Can I legally use front facing blue light in the UK?

Add an angle to a sphere

How to answer pointed "are you quitting" questioning when I don't want them to suspect

I see my dog run

Extreme, but not acceptable situation and I can't start the work tomorrow morning

A poker game description that does not feel gimmicky

Need help identifying/translating a plaque in Tangier, Morocco

Unbreakable Formation vs. Cry of the Carnarium

Are objects structures and/or vice versa?

Eliminate empty elements from a list with a specific pattern

Why airport relocation isn't done gradually?

Symmetry in quantum mechanics

How can I fix this gap between bookcases I made?

Why do we use polarized capacitors?

Piano - What is the notation for a double stop where both notes in the double stop are different lengths?

What happens when a metallic dragon and a chromatic dragon mate?



Understand how to clean store if we have exception between Splitter and Aggregator or recipient-list-router and Aggregator in Spring Integration


Spring splitter/aggregator handling exceptionsSpring Integration 2 - Splitter only returns the first elementSpring Integration - Gateway - Splitter - Aggregator with JMSSpring splitter/aggregator handling exceptionsSpring integration: how to handle exceptions in services after an aggregator?Splitter returning empty array list spring integrationHow to ignore ChannelResolutionException in a Spring Integration router?spring integration - splitter and aggregatorSpring integration - how to split list of object to individual spring integration message using splitterSpring Integration Aggregator or Router the right pattern?Spring Integration splitter and aggregator configuration






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I am new to spring integration and we have created an SI flow where we have Splitter and Aggregator also recipient-list-router and Aggregator.
Today, while checking a code I got confused about how Aggregator will clean its store if we have an exception in between flow.
I am worried about the scenario where we got an exception between the flow and that creates stale state object in the system.
I have checked the spring integration doc but no luck (https://docs.spring.io/spring-integration/docs/2.0.0.RC1/reference/html/aggregator.html).
I can see only one topic "Managing State in an Aggregator: MessageGroupStore" but that is for "application shots down".



Also, I did google for the same and I found one thread https://dzone.com/articles/spring-integration-robust but not able to folow much. Sure, I will come back if I am able to find some solution.



I am using OOB Splitter, recipient-list-router and Aggregator. Considering pattern should have mechanism handle this common scenario.



Can you please guide me



i.e:



<int:recipient-list-router input-channel="inputChannel" 
default-output-channel="nullChannel">
<int:recipient channel="aInputChannel" />
<int:recipient channel="bInputChannel" />
</int:recipient-list-router>

<int:service-activator ref="aHandler"
input-channel="aInputChannel" output-channel="aggregatorOutputChannel" />

<!-- we have exception in the bHandler -->
<int:service-activator ref="bHandler"
input-channel="bInputChannel" output-channel="aggregatorOutputChannel" />


<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />


OR



<int-file:splitter id="splitile"
charset="UTF-8" apply-sequence="true" iterator="false"
input-channel="inputChannel"
output-channel="bTransformerChannel" />
<!-- consider we have exception at 4th chunk -->
<int:service-activator ref="transform"
input-channel="bTransformerChannel" output-channel="aggregatorOutputChannel" />
<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />









share|improve this question






















  • I found one post link. As per this, we need to use MessageGroupStoreReaper. "configure a MessageGroupStoreReaper as shown in the reference manual (or set a group-timeout in Spring Integration 4.0.x) to discard the partial group." Is this only solution to provide some time out and clear memory. I am thinking the framework should intelligent to handle the exception and empty group. Or all this parameter should be king of mandatory to avoid such scenarios. Please provide your valuable input.

    – Nishit Charania
    Mar 8 at 8:30

















0















I am new to spring integration and we have created an SI flow where we have Splitter and Aggregator also recipient-list-router and Aggregator.
Today, while checking a code I got confused about how Aggregator will clean its store if we have an exception in between flow.
I am worried about the scenario where we got an exception between the flow and that creates stale state object in the system.
I have checked the spring integration doc but no luck (https://docs.spring.io/spring-integration/docs/2.0.0.RC1/reference/html/aggregator.html).
I can see only one topic "Managing State in an Aggregator: MessageGroupStore" but that is for "application shots down".



Also, I did google for the same and I found one thread https://dzone.com/articles/spring-integration-robust but not able to folow much. Sure, I will come back if I am able to find some solution.



I am using OOB Splitter, recipient-list-router and Aggregator. Considering pattern should have mechanism handle this common scenario.



Can you please guide me



i.e:



<int:recipient-list-router input-channel="inputChannel" 
default-output-channel="nullChannel">
<int:recipient channel="aInputChannel" />
<int:recipient channel="bInputChannel" />
</int:recipient-list-router>

<int:service-activator ref="aHandler"
input-channel="aInputChannel" output-channel="aggregatorOutputChannel" />

<!-- we have exception in the bHandler -->
<int:service-activator ref="bHandler"
input-channel="bInputChannel" output-channel="aggregatorOutputChannel" />


<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />


OR



<int-file:splitter id="splitile"
charset="UTF-8" apply-sequence="true" iterator="false"
input-channel="inputChannel"
output-channel="bTransformerChannel" />
<!-- consider we have exception at 4th chunk -->
<int:service-activator ref="transform"
input-channel="bTransformerChannel" output-channel="aggregatorOutputChannel" />
<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />









share|improve this question






















  • I found one post link. As per this, we need to use MessageGroupStoreReaper. "configure a MessageGroupStoreReaper as shown in the reference manual (or set a group-timeout in Spring Integration 4.0.x) to discard the partial group." Is this only solution to provide some time out and clear memory. I am thinking the framework should intelligent to handle the exception and empty group. Or all this parameter should be king of mandatory to avoid such scenarios. Please provide your valuable input.

    – Nishit Charania
    Mar 8 at 8:30













0












0








0








I am new to spring integration and we have created an SI flow where we have Splitter and Aggregator also recipient-list-router and Aggregator.
Today, while checking a code I got confused about how Aggregator will clean its store if we have an exception in between flow.
I am worried about the scenario where we got an exception between the flow and that creates stale state object in the system.
I have checked the spring integration doc but no luck (https://docs.spring.io/spring-integration/docs/2.0.0.RC1/reference/html/aggregator.html).
I can see only one topic "Managing State in an Aggregator: MessageGroupStore" but that is for "application shots down".



Also, I did google for the same and I found one thread https://dzone.com/articles/spring-integration-robust but not able to folow much. Sure, I will come back if I am able to find some solution.



I am using OOB Splitter, recipient-list-router and Aggregator. Considering pattern should have mechanism handle this common scenario.



Can you please guide me



i.e:



<int:recipient-list-router input-channel="inputChannel" 
default-output-channel="nullChannel">
<int:recipient channel="aInputChannel" />
<int:recipient channel="bInputChannel" />
</int:recipient-list-router>

<int:service-activator ref="aHandler"
input-channel="aInputChannel" output-channel="aggregatorOutputChannel" />

<!-- we have exception in the bHandler -->
<int:service-activator ref="bHandler"
input-channel="bInputChannel" output-channel="aggregatorOutputChannel" />


<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />


OR



<int-file:splitter id="splitile"
charset="UTF-8" apply-sequence="true" iterator="false"
input-channel="inputChannel"
output-channel="bTransformerChannel" />
<!-- consider we have exception at 4th chunk -->
<int:service-activator ref="transform"
input-channel="bTransformerChannel" output-channel="aggregatorOutputChannel" />
<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />









share|improve this question














I am new to spring integration and we have created an SI flow where we have Splitter and Aggregator also recipient-list-router and Aggregator.
Today, while checking a code I got confused about how Aggregator will clean its store if we have an exception in between flow.
I am worried about the scenario where we got an exception between the flow and that creates stale state object in the system.
I have checked the spring integration doc but no luck (https://docs.spring.io/spring-integration/docs/2.0.0.RC1/reference/html/aggregator.html).
I can see only one topic "Managing State in an Aggregator: MessageGroupStore" but that is for "application shots down".



Also, I did google for the same and I found one thread https://dzone.com/articles/spring-integration-robust but not able to folow much. Sure, I will come back if I am able to find some solution.



I am using OOB Splitter, recipient-list-router and Aggregator. Considering pattern should have mechanism handle this common scenario.



Can you please guide me



i.e:



<int:recipient-list-router input-channel="inputChannel" 
default-output-channel="nullChannel">
<int:recipient channel="aInputChannel" />
<int:recipient channel="bInputChannel" />
</int:recipient-list-router>

<int:service-activator ref="aHandler"
input-channel="aInputChannel" output-channel="aggregatorOutputChannel" />

<!-- we have exception in the bHandler -->
<int:service-activator ref="bHandler"
input-channel="bInputChannel" output-channel="aggregatorOutputChannel" />


<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />


OR



<int-file:splitter id="splitile"
charset="UTF-8" apply-sequence="true" iterator="false"
input-channel="inputChannel"
output-channel="bTransformerChannel" />
<!-- consider we have exception at 4th chunk -->
<int:service-activator ref="transform"
input-channel="bTransformerChannel" output-channel="aggregatorOutputChannel" />
<int:aggregator input-channel="aggregatorOutputChannel"
output-channel="outputChannel" />






spring-integration






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 8 at 6:54









Nishit CharaniaNishit Charania

83




83












  • I found one post link. As per this, we need to use MessageGroupStoreReaper. "configure a MessageGroupStoreReaper as shown in the reference manual (or set a group-timeout in Spring Integration 4.0.x) to discard the partial group." Is this only solution to provide some time out and clear memory. I am thinking the framework should intelligent to handle the exception and empty group. Or all this parameter should be king of mandatory to avoid such scenarios. Please provide your valuable input.

    – Nishit Charania
    Mar 8 at 8:30

















  • I found one post link. As per this, we need to use MessageGroupStoreReaper. "configure a MessageGroupStoreReaper as shown in the reference manual (or set a group-timeout in Spring Integration 4.0.x) to discard the partial group." Is this only solution to provide some time out and clear memory. I am thinking the framework should intelligent to handle the exception and empty group. Or all this parameter should be king of mandatory to avoid such scenarios. Please provide your valuable input.

    – Nishit Charania
    Mar 8 at 8:30
















I found one post link. As per this, we need to use MessageGroupStoreReaper. "configure a MessageGroupStoreReaper as shown in the reference manual (or set a group-timeout in Spring Integration 4.0.x) to discard the partial group." Is this only solution to provide some time out and clear memory. I am thinking the framework should intelligent to handle the exception and empty group. Or all this parameter should be king of mandatory to avoid such scenarios. Please provide your valuable input.

– Nishit Charania
Mar 8 at 8:30





I found one post link. As per this, we need to use MessageGroupStoreReaper. "configure a MessageGroupStoreReaper as shown in the reference manual (or set a group-timeout in Spring Integration 4.0.x) to discard the partial group." Is this only solution to provide some time out and clear memory. I am thinking the framework should intelligent to handle the exception and empty group. Or all this parameter should be king of mandatory to avoid such scenarios. Please provide your valuable input.

– Nishit Charania
Mar 8 at 8:30












1 Answer
1






active

oldest

votes


















0














Yes; the aggregator is a "passive" component by default - all actions are taken when a message arrives.



To time out stale groups you can use a reaper or, with more recent versions, a group-timeout.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55058168%2funderstand-how-to-clean-store-if-we-have-exception-between-splitter-and-aggregat%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Yes; the aggregator is a "passive" component by default - all actions are taken when a message arrives.



    To time out stale groups you can use a reaper or, with more recent versions, a group-timeout.






    share|improve this answer



























      0














      Yes; the aggregator is a "passive" component by default - all actions are taken when a message arrives.



      To time out stale groups you can use a reaper or, with more recent versions, a group-timeout.






      share|improve this answer

























        0












        0








        0







        Yes; the aggregator is a "passive" component by default - all actions are taken when a message arrives.



        To time out stale groups you can use a reaper or, with more recent versions, a group-timeout.






        share|improve this answer













        Yes; the aggregator is a "passive" component by default - all actions are taken when a message arrives.



        To time out stale groups you can use a reaper or, with more recent versions, a group-timeout.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 8 at 14:14









        Gary RussellGary Russell

        85.3k85178




        85.3k85178





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55058168%2funderstand-how-to-clean-store-if-we-have-exception-between-splitter-and-aggregat%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            1928 у кіно

            Захаров Федір Захарович

            Ель Греко