title: What are the Spring Batch "default" Context Variables?
body: <p>In the <a href="http://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#step-scope" rel="noreferrer">Spring Batch <em>step-scope</em> documentation</a>, there are three unexplained spring-batch context maps: <code>jobParameters</code>, <code>jobExecutionContext</code>, and <code>stepExecutionContext</code>.  </p>
  
  <p>Springsource sample code, combined: </p>
  
  <pre><code>&lt;bean id="flatFileItemReader" scope="step"
    class="org.springframework.batch.item.file.FlatFileItemReader"&gt;
      &lt;property name="var1" value="#{jobParameters['input.file.name']}" /&gt;
      &lt;property name="var2" value="#{jobExecutionContext['input.file.name']}" /&gt;
      &lt;property name="var3" value="#{stepExecutionContext['input.file.name']}" /&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p>What are the default parameters available within <code>jobParameters</code>, <code>jobExecutionContext</code>, and <code>stepExecutionContext</code>?</p>
  
  <p>There are also likely differences between what's available in Spring Batch version 1.x vs. 2.x vs. 3.x--the documentation is pretty scarce in this area.</p>