spring-projects/spring-xd — pull request #416 by ericbottard (2013-11-21 09:55:03+00:00)
Title: XD-1100/1101: aggregator stores

This adds 2 additional store options, driven by the ${store} option (memory is still the default).
* When using --store=redis, options are hostname, port and password, with defaults using the 'standard' redis install we all know an love
* When using --store=jdbc, options are driverClass, url, usename, password, with no defaults. An additional option is ${initdb} which can take the kind of database to use and, if set, will create the schema

To test (eg using db):
Run a node
```
stream create foo --definition "http | aggregator --count=3 --aggregation=T(org.springframework.util.StringUtils).collectionToDelimitedString(#this.![payload],' ') --driverClass=org.hsqldb.jdbc.JDBCDriver --url=jdbc:hsqldb:file:/tmp/aggdb --initdb=hsqldb --store=jdbc --timeout=500000| log"
http post --data 'Tchk !'
http post --data 'Tchk !'
```
Note the long timeout, because the test can take longer than 50s to run:

Stop the server.
Restart it
Recreate the stream (b/c atm streams are not preserved): (note initdb is gone)
```
stream create foo --definition "http | aggregator --count=3 --aggregation=T(org.springframework.util.StringUtils).collectionToDelimitedString(#this.![payload],' ') --driverClass=org.hsqldb.jdbc.JDBCDriver --url=jdbc:hsqldb:file:/tmp/aggdb -store=jdbc --timeout=500000| log"
```

Post the last part of the aggregate
```
http post --data 'Tchk !'
```