Out Of Memory sur fichier XML 1Go
Bonjour à tous,
j'ai un batch qui prend 1 à n fichiers (40 maximum) XML en entrée. Lorsque le fichier est > 800Mo, j'obtiens "java.lang.OutOfMemoryError: Java heap space". Sur le serveur de bench ou le batch tourne, le lanceur du batch a été modifié pour prendre en compte 2Go de mémoire. Mais ça ne passe toujours pas.
Le reader est de ce type :
Code:
1 2 3 4 5 6 7 8 9
|
<bean id="multiResourceReader" class=" org.springframework.batch.item.file.MultiResourceItemReader" scope="step">
<property name="resources" value="#{jobParameters['inputResource']}" />
<property name="delegate" ref="pivotItemReader" />
</bean>
<bean id="pivotItemReader" class="org.springframework.batch.item.xml.StaxEventItemReader">
<property name="fragmentRootElementName" value="Diffusion" />
<property name="unmarshaller" ref="diffusionmarshaller" />
</bean> |
Comment gérer ces gros fichiers XML sans pour autant casser tout le code Java derrière ?
Précision qui a son importance : je débute sur Spring Batch, ce premier composant a été ma formation...
Merci pour votre aide où piste que vous pourrez m'apporter.
Cdlt,