Bonjour
sur un développement Spring Batch, j'ai le message d'erreur suivant uniquement lorsque je tente de travailler sur ma base PostGreSql local (sur mon poste) :
PSQLException: Ce ResultSet est fermé.
Quand je change mon fichier "datasources.properties" pour travailler sur la base en environnement de dev, aucun problème (sans aucune modification du code ou du fichier datasource.xml).
Pourquoi ? La base est accessible sans problème quand j'utilise DBeaver et je peux faire des insertions, truncate, select sans problème manuellement.
Fichier datasources.properties :
fichier datasource.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 # ---------------------------------# # --- Config Datasource -----------# # ---------------------------------# # --- ORACLE env DEV -- # #datasource.driver=oracle.jdbc.OracleDriver #datasource.url=jdbc:oracle:thin:@xx.xx.xx.xx:xxxx/xxxxx #datasource.username=xxxx #datasource.password=xxx #datasource.table.prefix=xxxx_ # --- Postgres Local --- # datasource.driver=org.postgresql.Driver datasource.url=jdbc:postgresql://127.0.0.1:5432/xxxx datasource.username=xxx datasource.password=xxxx datasource.table.prefix=xxxx_
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <context:property-placeholder location="classpath:datasource.properties" ignore-unresolvable="true"/> <!-- Création du data source à partir des infos contenues dans le fichier datasource.properties --> <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"> <property name="driverClassName" value="${datasource.driver}"/> <property name="url" value="${datasource.url}"/> <property name="username" value="${datasource.username}"/> <property name="password" value="${datasource.password}"/> <property name="initialSize" value="5"/> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"/> </bean> <!-- Initialisation du transaction manager utilisé par le use case --> <bean id="transactionManager" lazy-init="true" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- Référence vers les tables utilisées par le transactionManager --> <batch:job-repository id="jobRepository" data-source="dataSource" transaction-manager="transactionManager" isolation-level-for-create="READ_COMMITTED" table-prefix="${datasource.table.prefix}" lob-handler="defaultlobHandler"/> <bean id="defaultlobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"/>
Si vous avez une idée, je suis preneur !
Merci pour vos pistes et retours.
Bonne journée.
Cdt,
PS : utilisation de SpringBatch V4.3 et JDK 6.
Partager