XML complexo usando o Spring Batch; StaxEventItemWriter; Jaxb2Marshaller

Preciso escrever um XML um pouco complexo usando o Spring Batch. Alguém pode me ajudar com a configuração apropriada do Spring?

Abaixo está a saída que o processo requer.

<XML>
<USERLIST ID="something" NAME="Sample">
  <USER ID="userID" NAME="Name"/>
  <USER ID="userID" NAME="Name"/>
  ........
</USERLIST>
<XML>

A 'UserList' no XML acima precisa ocorrer apenas uma vez

Esta é a configuração da mola que tenho até agora.

<bean id="userXMLWriter" class="org.springframework.batch.item.xml.StaxEventItemWriter">
    <property name="resource" value="file:outputs/users.xml" />
    <property name="encoding" value="ISO-8859-1" />
    <property name="version" value="1.0" />
    <property name="marshaller" ref="userXMLMarshaller" />
    <property name="rootTagName" value="XML" />
  </bean>

  <bean id="userXMLMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
  <property name="marshallerProperties">
        <map>
            <entry>
                <key>
                    <util:constant static-field="javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT" />
               </key>
              <value type="java.lang.Boolean">true</value>
            </entry>
        </map>
    </property>
    <property name="classesToBeBound">
    <list>
        <value>org.test.model.xml.UserList</value>
        <value>org.test.model.xml.User</value>
    </list>
    </property>
  </bean>   

Obviamente, quando eu testo isso, meu XML não possui o elemento 'USERLIST' porque todos esses objetos USER precisam ser adicionados à USERLIST em algum lugar. Eu sou meio novo no Spring Batch e no JAXB2. Todas as idéias sobre isso são apreciadas.

Obrigado Harish

questionAnswers(1)

yourAnswerToTheQuestion