JSR-352, Spring Batch and You

2,576 views
2,354 views

Published on

Speaker: Michael Minella
JSR-352 is billed as bringing a standardized batch programming model to Java. What does the spec provide, what does it not, and what does it mean for Spring Batch applications? We will address all of these questions as well as provide insight into how Spring Batch will work with the JSR in a real world example.

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
2,576
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
100
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

JSR-352, Spring Batch and You

  1. 1. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352, SPRING BATCH, AND YOU Created by Michael T Minella / @michaelminella http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 1 of 94
  2. 2. JSR-352, Spring Batch, and You 9/13/13 4:33 PM WHO IS THIS GUY? Author of Pro Spring Batch Member of the expert group for JSR-352 Project lead for Spring Batch http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 2 of 94
  3. 3. JSR-352, Spring Batch, and You 9/13/13 4:33 PM I DO A LOT OF BATCH ;) http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 3 of 94
  4. 4. JSR-352, Spring Batch, and You 9/13/13 4:33 PM NO NEED TO TAKE NOTES! These talks are being recorded... These slides and code are on Github http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 4 of 94
  5. 5. JSR-352, Spring Batch, and You 9/13/13 4:33 PM FIND IT ALL HERE http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 5 of 94
  6. 6. JSR-352, Spring Batch, and You http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ 9/13/13 4:33 PM Page 6 of 94
  7. 7. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ? http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 7 of 94
  8. 8. JSR-352, Spring Batch, and You 9/13/13 4:33 PM 3 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 8 of 94
  9. 9. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 9 of 94
  10. 10. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH'S IMPLE‐ MENTATION OF JSR-352 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 10 of 94
  11. 11. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH BEYOND JSR-352 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 11 of 94
  12. 12. JSR-352, Spring Batch, and You 9/13/13 4:33 PM EXPECTATIONS Basic knowledge of Spring Basic knowledge of Spring Batch http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 12 of 94
  13. 13. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ? WHEN YOU HAVE THEM http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 13 of 94
  14. 14. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 14 of 94
  15. 15. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 introduces an exciting new Java specification for building, deploying, and running batch applications. - Chris Vignola http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 15 of 94
  16. 16. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING'S INVOLVEMENT http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 16 of 94
  17. 17. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH IS A LEADER IN THE SPACE http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 17 of 94
  18. 18. JSR-352, Spring Batch, and You 9/13/13 4:33 PM RESULTS OF THE SPEC? http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 18 of 94
  19. 19. JSR-352, Spring Batch, and You http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ 9/13/13 4:33 PM Page 19 of 94
  20. 20. JSR-352, Spring Batch, and You http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ 9/13/13 4:33 PM Page 20 of 94
  21. 21. JSR-352, Spring Batch, and You 9/13/13 4:33 PM STRUCTURALLY THE SAME http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 21 of 94
  22. 22. JSR-352, Spring Batch, and You 9/13/13 4:33 PM 3 API for building batch components A DSL for configuring batch components A contract of how batch components interact http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 22 of 94
  23. 23. JSR-352, Spring Batch, and You 9/13/13 4:33 PM HIGH LEVEL DIFFERENCES http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 23 of 94
  24. 24. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH JOB <job id="personJob"> <step id="step1"> <tasklet> <chunk commit-interval="5" reader="itemReader" processor="itemProcessor" writer="itemWriter" /> </tasklet> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 24 of 94
  25. 25. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 JOB <job id="personJob"> <step id="step1"> <chunk item-count="5"> <reader ref="itemReader"/> <processor ref="itemProcessor"/> <writer ref="itemWriter"/> </chunk> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 25 of 94
  26. 26. JSR-352, Spring Batch, and You 9/13/13 4:33 PM <!-- Spring Batch --> <job id="personJob"> <step id="step1"> <tasklet> <chunk commit-interval="5" reader="itemReader" processor="itemProcessor" writer="itemWriter"/> </tasklet> </step> </job> <!-- JSR-352 --> <job id="personJob"> <step id="step1"> <chunk item-count="5"> <reader ref="itemReader"/> <processor ref="itemProcessor"/> <writer ref="itemWriter"/> </chunk> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 26 of 94
  27. 27. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ? http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 27 of 94
  28. 28. JSR-352, Spring Batch, and You 9/13/13 4:33 PM DEPENDENCY INJECTION Foundational technology of Spring Batch Not required with JSR-352 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 28 of 94
  29. 29. JSR-352, Spring Batch, and You 9/13/13 4:33 PM REFERENCES IN JSR-352 <job id="personJob"> <step id="step1"> <chunk item-count="5"> <reader ref="itemReader"/> <processor ref="itemProcessor"/> <writer ref="itemWriter"/> </chunk> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 29 of 94
  30. 30. JSR-352, Spring Batch, and You 9/13/13 4:33 PM REFERENCES POINT TO 1 OF 3 PLACES Spring bean batch.xml definition The class itself http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 30 of 94
  31. 31. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BEAN <bean id="itemWriter" class="org.springframework.batch.item.xml.StaxEventItemWriter" <property name="resource" ref="outputFile" /> <property name="marshaller" ref="customerMarshaller" /> <property name="rootTagName" value="customers" /> </bean> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 31 of 94
  32. 32. JSR-352, Spring Batch, and You 9/13/13 4:33 PM BATCH.XML <batch-artifacts xmlns="http://xmlns.jcp.org/xml/ns/javaee"> <ref id="itemReader" class="org.sf.jsr.demo.ItemReader" /> <ref id="itemProcessor" class="org.sf.jsr.demo.ItemProcessor" /> <ref id="itemWriter" class="org.sf.jsr.demo.ItemWriter" /> </batch-artifacts> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 32 of 94
  33. 33. JSR-352, Spring Batch, and You 9/13/13 4:33 PM THE CLASS ITSELF <job id="personJob"> <step id="step1"> <chunk item-count="5"> <reader ref="org.sf.jsr.demo.ItemReader"/> <processor ref="org.sf.jsr.demo.ItemProcessor"/> <writer ref="org.sf.jsr.demo.ItemWriter"/> </chunk> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 33 of 94
  34. 34. JSR-352, Spring Batch, and You 9/13/13 4:33 PM PROPERTIES Spring injects them on bean definitions JSR-352 injects properties from the job definition JSR-352 properties are Strings only http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 34 of 94
  35. 35. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH JOB <job id="formatJob"> <step id="step1"> <tasklet> <chunk reader="fileReader" writer="xmlWriter" commit-interval="#{jobParameters['commit.interval']}"/> </tasklet> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 35 of 94
  36. 36. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 JOB <job id="personJob"> <step id="step1"> <chunk item-count="#{jobParameters['commit.interval']}"> <reader ref="fileReader"> <properties> <property name="fileName" value="#{jobParameters['input.fileName'] </properties> </reader> <writer ref="xmlWriter"> <properties> <property name="fileName" value="#{jobParameters['output.fileName' </properties> </writer> </chunk> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 36 of 94
  37. 37. JSR-352, Spring Batch, and You 9/13/13 4:33 PM INJECTION OF PROPER‐ TIES @Inject @BatchProperty public String fileName; @Inject @BatchProperty(name="otherProperty") public String otherProperty; http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 37 of 94
  38. 38. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ? http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 38 of 94
  39. 39. JSR-352, Spring Batch, and You 9/13/13 4:33 PM LET'S BUILD AN APP! http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 39 of 94
  40. 40. JSR-352, Spring Batch, and You 9/13/13 4:33 PM 00:00 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ -00:34 Page 40 of 94
  41. 41. JSR-352, Spring Batch, and You 9/13/13 4:33 PM LOGS OF A VIRAL VIDEO Released in 2003. Downloaded 1.1 million times the first 2 weeks Since been downloaded 40 million times since it was moved to YouTube 2008, Andy Baio posted the Apache logs for the first 6 months File is 1.6 GB unzipped and available via BitTorent File was originally called "ghyslain_razaa.wmv" File was later renamed to "Star_Wars_Kid.wmv" http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 41 of 94
  42. 42. JSR-352, Spring Batch, and You 9/13/13 4:33 PM WHO WAS WATCHING THIS VIDEO? http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 42 of 94
  43. 43. JSR-352, Spring Batch, and You 9/13/13 4:33 PM OUR JOB http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 43 of 94
  44. 44. JSR-352, Spring Batch, and You 9/13/13 4:33 PM STEP PROCESSING MOD‐ ELS http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 44 of 94
  45. 45. JSR-352, Spring Batch, and You 9/13/13 4:33 PM BATCHLET http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 45 of 94
  46. 46. JSR-352, Spring Batch, and You 9/13/13 4:33 PM BATCHLET = STOPPABLE‐ TASKLET http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 46 of 94
  47. 47. JSR-352, Spring Batch, and You 9/13/13 4:33 PM public interface Tasklet { RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception; } public interface StoppableTasklet extends Tasklet { void stop(); } public interface Batchlet { public String process() throws Exception; public void stop() throws Exception; } http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 47 of 94
  48. 48. JSR-352, Spring Batch, and You 9/13/13 4:33 PM STEP 1...SPLIT THE FILE http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 48 of 94
  49. 49. JSR-352, Spring Batch, and You 9/13/13 4:33 PM LAUNCHING http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 49 of 94
  50. 50. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JOBOPERATOR JobOperator jobOperator = BatchRuntime.getJobOperator(); // start long jobExecutionId = jobOperator.start("myJob", new Properties()); // restart long newJobExecutionId = jobOperator.restart(jobExecutionId, new Properties()); // stop jobOperator.stop(jobExecutionid); http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 50 of 94
  51. 51. JSR-352, Spring Batch, and You 9/13/13 4:33 PM CHUNK PROCESSING http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 51 of 94
  52. 52. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 52 of 94
  53. 53. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH REALLY http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 53 of 94
  54. 54. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 54 of 94
  55. 55. JSR-352, Spring Batch, and You 9/13/13 4:33 PM CHUNK RELATED INTER‐ FACES ItemReader ItemProcessor ItemWriter http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 55 of 94
  56. 56. JSR-352, Spring Batch, and You 9/13/13 4:33 PM CHECKPOINTS Item Custom http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 56 of 94
  57. 57. JSR-352, Spring Batch, and You 9/13/13 4:33 PM STEP 2...IMPORT THE FILE http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 57 of 94
  58. 58. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ERROR HANDLING http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 58 of 94
  59. 59. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SKIP <job id="skip" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0"> <step id="step1"> <chunk skip-limit="3"> <reader ref="retryableListReader"/> <writer ref="fileWriter"/> <!-- Skippable exceptions --> <skippable-exception-classes> <include class="java.lang.RuntimeException"/> </skippable-exception-classes> </chunk> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 59 of 94
  60. 60. JSR-352, Spring Batch, and You 9/13/13 4:33 PM RETRY <job id="retry" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0"> <step id="step1"> <chunk retry-limit="3"> <reader ref="retryableListReader"/> <writer ref="fileWriter"/> <!-- Retryable exceptions --> <retryable-exception-classes> <include class="java.lang.RuntimeException"/> </retryable-exception-classes> </chunk> </step> </job> http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 60 of 94
  61. 61. JSR-352, Spring Batch, and You 9/13/13 4:33 PM READ RETRIES Spring Batch hasn't supported read retries JSR-352 allows read retries Existing Spring Batch readers won't support read retry with 3.0 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 61 of 94
  62. 62. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SCALING http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 62 of 94
  63. 63. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPLITS Same as Spring Batch http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 63 of 94
  64. 64. JSR-352, Spring Batch, and You 9/13/13 4:33 PM PARTITIONING Executes chunks or multiple instances of Batchlets in parallel Two configuration options Hardcoded in XML PartitionMapper Adds two additional concepts... http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 64 of 94
  65. 65. JSR-352, Spring Batch, and You 9/13/13 4:33 PM PARTITION REDUCER Provides a hook for compensating logic upon failure Really just a specialized StepListener/StepExecutionListenr http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 65 of 94
  66. 66. JSR-352, Spring Batch, and You 9/13/13 4:33 PM PARTITION COLLECTOR/ ANALYZER Collector collects data from batch artifacts Analyzer allows the ability to set ExitStatus after a partitioned step http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 66 of 94
  67. 67. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH'S IMPLEMENTATION http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 67 of 94
  68. 68. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH STATUS Released 3.0.0.M2 last night Passes > 50% of the TCK tests 3.0 will be JSR-352 compliant http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 68 of 94
  69. 69. JSR-352, Spring Batch, and You 9/13/13 4:33 PM "RAW" JSR-352 VERSION Classes: 8 Lines of custom code: 826 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 69 of 94
  70. 70. JSR-352, Spring Batch, and You 9/13/13 4:33 PM 3 API for building batch components A DSL for configuring batch components A contract of how batch components interact http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 70 of 94
  71. 71. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ? http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 71 of 94
  72. 72. JSR-352, Spring Batch, and You 9/13/13 4:33 PM COMPONENTS!!! http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 72 of 94
  73. 73. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 PROVIDES 0 IMPLEMENTATIONS http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 73 of 94
  74. 74. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ITEM READERS AggregateItemReader AmqpItemReader FlatFileItemReader HibernateCursorItemReader HibernatePagingItemReader IbatisPagingItemReader ItemReaderAdapter JdbcCursorItemReader JdbcPagingItemReader JmsItemReader JpaPagingItemReader ListItemReader MongoItemReader Neo4jItemReader RepositoryItemReader StoredProcedureItemReader StaxEventItemReader ITEM WRITERS http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 74 of 94
  75. 75. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SAME APP...SPRING-IFIED http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 75 of 94
  76. 76. JSR-352, Spring Batch, and You 9/13/13 4:33 PM COMPARISON http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 76 of 94
  77. 77. JSR-352, Spring Batch, and You 9/13/13 4:33 PM "RAW" JSR-352 VERSION Classes: 8 Lines of custom code: 826 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 77 of 94
  78. 78. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING JSR-352 VERSION Classes: 5 Lines of custom code: 596 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 78 of 94
  79. 79. JSR-352, Spring Batch, and You 9/13/13 4:33 PM BEYOND JSR-352 http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 79 of 94
  80. 80. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING! http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 80 of 94
  81. 81. JSR-352, Spring Batch, and You 9/13/13 4:33 PM TYPE SAFE PROPERTIES http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 81 of 94
  82. 82. JSR-352, Spring Batch, and You 9/13/13 4:33 PM NO INHERITENCE http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 82 of 94
  83. 83. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SCALABILITY http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 83 of 94
  84. 84. JSR-352, Spring Batch, and You 9/13/13 4:33 PM JSR-352 IS SINGLE JVM ONLY http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 84 of 94
  85. 85. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING BATCH SCALES BEYOND 1 JVM http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 85 of 94
  86. 86. JSR-352, Spring Batch, and You 9/13/13 4:33 PM REMOTE CHUNKING http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 86 of 94
  87. 87. JSR-352, Spring Batch, and You 9/13/13 4:33 PM REMOTE PARTITIONING http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 87 of 94
  88. 88. JSR-352, Spring Batch, and You 9/13/13 4:33 PM BATCH DOESN'T OCCUR IN A VACUUM http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 88 of 94
  89. 89. JSR-352, Spring Batch, and You 9/13/13 4:33 PM LAUNCHING JOBS VIA MESSAGES http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 89 of 94
  90. 90. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING HADOOP http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 90 of 94
  91. 91. JSR-352, Spring Batch, and You 9/13/13 4:33 PM SPRING XD http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 91 of 94
  92. 92. JSR-352, Spring Batch, and You 9/13/13 4:33 PM ? http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 92 of 94
  93. 93. JSR-352, Spring Batch, and You 9/13/13 4:33 PM FIND THIS DECK AND DEMO CODE: Github http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 93 of 94
  94. 94. JSR-352, Spring Batch, and You 9/13/13 4:33 PM KEEP IN TOUCH! Michael Minella Twitter: @MichaelMinella Github: mminella Spring Batch Site: Spring Batch Session replays on YouTube: YouTube Spring Site: Spring IO http://mminella.github.io/jsr352-springbatch-and-you/?print-pdf#/ Page 94 of 94

×