You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Ben O'Day (JIRA)" <ji...@apache.org> on 2011/04/12 23:54:05 UTC

[jira] [Created] (CAMEL-3855) make aggregate() easier to use for the common case

make aggregate() easier to use for the common case
--------------------------------------------------

                 Key: CAMEL-3855
                 URL: https://issues.apache.org/jira/browse/CAMEL-3855
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
            Reporter: Ben O'Day
            Assignee: Ben O'Day
            Priority: Minor


Currently, an expression and strategy are required to use aggregate().  Perhaps, we could set a default expression (constant(true), etc) and strategy (either groupExchanges() or the attached AggregateAsListStrategy, etc).

For example, either of these could make a good intuitive default (still requiring a completionSize/Interval, etc)

aggregate() == aggregate(constant(true)).groupExchanges() 
or
aggregate() == aggregate(constant(true), new AggregateAsListStrategy())

See this discussion for more information....http://camel.465427.n5.nabble.com/Default-Behavior-for-aggregate-td4296790.html

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (CAMEL-3855) make aggregate() easier to use for the common case

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-3855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-3855.
--------------------------------

       Resolution: Won't Fix
    Fix Version/s: 2.8.0

> make aggregate() easier to use for the common case
> --------------------------------------------------
>
>                 Key: CAMEL-3855
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3855
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Ben O'Day
>            Assignee: Ben O'Day
>            Priority: Minor
>             Fix For: 2.8.0
>
>         Attachments: CAMEL-3855.patch
>
>
> Currently, an expression and strategy are required to use aggregate().  Perhaps, we could set a default expression (constant(true), etc) and strategy (either groupExchanges() or the attached AggregateAsListStrategy, etc).
> For example, either of these could make a good intuitive default (still requiring a completionSize/Interval, etc)
> aggregate() == aggregate(constant(true)).groupExchanges() 
> or
> aggregate() == aggregate(constant(true), new AggregateAsListStrategy())
> See this discussion for more information....http://camel.465427.n5.nabble.com/Default-Behavior-for-aggregate-td4296790.html

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CAMEL-3855) make aggregate() easier to use for the common case

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-3855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019218#comment-13019218 ] 

Claus Ibsen commented on CAMEL-3855:
------------------------------------

No thats frankly not intuitive, to aggregate using a constant expression, and all into a list. If you read the EIP book then thats not the point they explain about the pattern. There are many other uses cases where you must aggregate by a correlation key part of the message and so forth. 

The current solution to ensure the end user specify the
- correlation expression
- aggregation strategy
- completion conditions

Works the best as there are no surprises with defaults and what not. The end user configure the EIP according to their needs.


> make aggregate() easier to use for the common case
> --------------------------------------------------
>
>                 Key: CAMEL-3855
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3855
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Ben O'Day
>            Assignee: Ben O'Day
>            Priority: Minor
>         Attachments: CAMEL-3855.patch
>
>
> Currently, an expression and strategy are required to use aggregate().  Perhaps, we could set a default expression (constant(true), etc) and strategy (either groupExchanges() or the attached AggregateAsListStrategy, etc).
> For example, either of these could make a good intuitive default (still requiring a completionSize/Interval, etc)
> aggregate() == aggregate(constant(true)).groupExchanges() 
> or
> aggregate() == aggregate(constant(true), new AggregateAsListStrategy())
> See this discussion for more information....http://camel.465427.n5.nabble.com/Default-Behavior-for-aggregate-td4296790.html

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CAMEL-3855) make aggregate() easier to use for the common case

Posted by "Ben O'Day (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-3855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ben O'Day updated CAMEL-3855:
-----------------------------

    Attachment: CAMEL-3855.patch

adds a basic "aggregate as list" strategy class and test case

> make aggregate() easier to use for the common case
> --------------------------------------------------
>
>                 Key: CAMEL-3855
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3855
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Ben O'Day
>            Assignee: Ben O'Day
>            Priority: Minor
>         Attachments: CAMEL-3855.patch
>
>
> Currently, an expression and strategy are required to use aggregate().  Perhaps, we could set a default expression (constant(true), etc) and strategy (either groupExchanges() or the attached AggregateAsListStrategy, etc).
> For example, either of these could make a good intuitive default (still requiring a completionSize/Interval, etc)
> aggregate() == aggregate(constant(true)).groupExchanges() 
> or
> aggregate() == aggregate(constant(true), new AggregateAsListStrategy())
> See this discussion for more information....http://camel.465427.n5.nabble.com/Default-Behavior-for-aggregate-td4296790.html

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CAMEL-3855) make aggregate() easier to use for the common case

Posted by "Ben O'Day (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-3855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019371#comment-13019371 ] 

Ben O'Day commented on CAMEL-3855:
----------------------------------

thanks Claus, I can see both sides of providing a default case...I'm speaking from my normal use of it.  I do think that including a few more basic strategies couldn't hurt though.  

In regards to documentation, I don't yet have permission to edit pages.  I have an ICLA on file and a Confluence account (boday).  I'll send an email to the dev list to request permission and start helping in that area soon...

> make aggregate() easier to use for the common case
> --------------------------------------------------
>
>                 Key: CAMEL-3855
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3855
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Ben O'Day
>            Assignee: Ben O'Day
>            Priority: Minor
>             Fix For: 2.8.0
>
>         Attachments: CAMEL-3855.patch
>
>
> Currently, an expression and strategy are required to use aggregate().  Perhaps, we could set a default expression (constant(true), etc) and strategy (either groupExchanges() or the attached AggregateAsListStrategy, etc).
> For example, either of these could make a good intuitive default (still requiring a completionSize/Interval, etc)
> aggregate() == aggregate(constant(true)).groupExchanges() 
> or
> aggregate() == aggregate(constant(true), new AggregateAsListStrategy())
> See this discussion for more information....http://camel.465427.n5.nabble.com/Default-Behavior-for-aggregate-td4296790.html

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CAMEL-3855) make aggregate() easier to use for the common case

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CAMEL-3855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019225#comment-13019225 ] 

Claus Ibsen commented on CAMEL-3855:
------------------------------------

Ben you are of course very welcome to help improve the wiki documentation of the aggregator EIP page
http://camel.apache.org/aggregator2

Or you can create a short cookbook example about the usecase of aggregating everything into a List
http://camel.apache.org/cookbook

We can always use help with the documentation. And its much appreciated, and it also helps on merits to become a committers (all kind of contributions does).

> make aggregate() easier to use for the common case
> --------------------------------------------------
>
>                 Key: CAMEL-3855
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3855
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Ben O'Day
>            Assignee: Ben O'Day
>            Priority: Minor
>             Fix For: 2.8.0
>
>         Attachments: CAMEL-3855.patch
>
>
> Currently, an expression and strategy are required to use aggregate().  Perhaps, we could set a default expression (constant(true), etc) and strategy (either groupExchanges() or the attached AggregateAsListStrategy, etc).
> For example, either of these could make a good intuitive default (still requiring a completionSize/Interval, etc)
> aggregate() == aggregate(constant(true)).groupExchanges() 
> or
> aggregate() == aggregate(constant(true), new AggregateAsListStrategy())
> See this discussion for more information....http://camel.465427.n5.nabble.com/Default-Behavior-for-aggregate-td4296790.html

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira