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 :
Comment gérer ces gros fichiers XML sans pour autant casser tout le code Java derrière ?
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>
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,
Partager