title: I get "Writer must be open before it can be written to" while using ClassifierCompositeItemWriter
body: <p>The question states my problem.  Can you not use FlatFileItemWriters (FFIW) as the writers on anything but simple chunk processing with a single writer?  I'm new.</p>
  
  <p>I've attempted to inject an FFIW into ItemProcessors and gotten the same thing.  Perhaps I need to write my own custom writers.  I was trying to leverage the FFIW to do the work, because all I need is to sift the one input file and populate three outfiles.  My routerDelegate works fine, no problems there.  Just fails on the write because the file is not open, and I can't see how to manually open it (which I think is the wrong approach, even if I could). </p>
  
  <p>Thanks...</p>
  
  <p>here's my code:</p>
  
  <pre><code>    &lt;batch:step id="processCustPermits" next="somethingElse"&gt;
          &lt;batch:description&gt;Sift permits&gt;&lt;/batch:description&gt;
          &lt;batch:tasklet&gt;
              &lt;batch:chunk reader="custPermitReader" writer="custPermitCompositeWriter"
                  commit-interval="1" /&gt;
          &lt;/batch:tasklet&gt;
      &lt;/batch:step&gt;
  
  &lt;bean id="custPermitCompositeWriter"
      class="org.springframework.batch.item.support.ClassifierCompositeItemWriter"&gt;
      &lt;property name="classifier"&gt;
          &lt;bean
              class="org.springframework.batch.classify.BackToBackPatternClassifier"&gt;
              &lt;property name="routerDelegate" ref="permitRouterClassifier" /&gt;
              &lt;property name="matcherMap"&gt;
                  &lt;map&gt;
                      &lt;entry key="hierarchy" value-ref="custPermitWriter" /&gt;
                      &lt;entry key="omit" value-ref="custPermitOmithWriter" /&gt;
                      &lt;entry key="trash" value-ref="custPermitTrashWriter" /&gt;
                  &lt;/map&gt;
              &lt;/property&gt;
          &lt;/bean&gt;
      &lt;/property&gt;
  &lt;/bean&gt;
  &lt;bean id="custPermitWriter" class="org.springframework.batch.item.file.FlatFileItemWriter"&gt;
      &lt;property name="resource" value="${sap.cust.permit.outfile.heirarchy}" /&gt;
      &lt;property name="lineAggregator" ref="passThroughLineAggregator" /&gt;
      &lt;property name="shouldDeleteIfExists" value="true" /&gt;
      &lt;property name="shouldDeleteIfEmpty" value="false" /&gt;
  &lt;/bean&gt;
  &lt;bean id="custPermitOmithWriter" class="org.springframework.batch.item.file.FlatFileItemWriter"&gt;
      &lt;property name="resource" value="${sap.cust.permit.outfile.omits}" /&gt;
      &lt;property name="lineAggregator" ref="passThroughLineAggregator" /&gt;
      &lt;property name="shouldDeleteIfExists" value="true" /&gt;
      &lt;property name="shouldDeleteIfEmpty" value="true" /&gt;
  &lt;/bean&gt;
  &lt;bean id="custPermitTrashWriter" class="org.springframework.batch.item.file.FlatFileItemWriter"&gt;
      &lt;property name="resource" value="${sap.cust.permit.outfile.trash}" /&gt;
      &lt;property name="lineAggregator" ref="passThroughLineAggregator" /&gt;
      &lt;property name="shouldDeleteIfExists" value="true" /&gt;
      &lt;property name="shouldDeleteIfEmpty" value="true" /&gt;
  &lt;/bean&gt;
  </code></pre>