Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am developing a web service in java that requires to do an asynchronous call to a 3rd party app by aggregating about 100 requests or for a minute (whichever happens earlier). Is there any open source framework or known design patterns available to help me in this.

I have looked at JMS and Spring-Batch. JMS processes each message (and not aggregate) and Spring Batch provides batch execution but also doesn't provide this aggregation support.

I can implement my own queue and handler service to make sure I aggregate the results and process it, but I was looking for solutions like JMS which also takes care of persisting the message/data incase of failure and re-using it once system is back up.

share|improve this question

closed as off-topic by Corbin March, GlenH7, Jimmy Hoffa, MichaelT, Yusubov Aug 15 '13 at 11:46

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Corbin March, GlenH7, Jimmy Hoffa, MichaelT, Yusubov
If this question can be reworded to fit the rules in the help center, please edit the question.

    
I do see some downvotes.. Can you please add a comment on why it's downvoted, so I can edit and make the question better? –  Chandra Mohan Aug 15 '13 at 5:29

1 Answer 1

up vote 1 down vote accepted

A full-blown solution which addresses this kind of problems would be Spring Integration (since you mentioned Spring) or Apache Camel.

What you would need to do is apply a set of Enterprise Integration Patterns like a channel adapter which reads from JMS, an aggregator configured to collect messages based on count and/or time and a service activator which invokes some method of yours with the aggregation result.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.