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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,