Stop me re-inventing the wheel
I have an application to build that does the following.
1. Receives a request for data.
2. Passes the request to other sources.
3. Aggregates the data from all the sources.
4. Returns the aggregated data.
If there are 10 sources and each one takes 10 seconds to return the data and the sources are hit sequentially then it is going to take 100 seconds. However, if I start 10 threads then it will take 10 seconds.
Is there a pattern for aggregating results like this? And even better a worked example in Java ;)
Thanks for your advice.

