Bonjour,

je souhaite paramétrer deux datasources dans ma configuration spring mais je ne sais pas trop comment m'y prendre.
Il s'agit d'un service web permettant l'accès à une première base de données, la deuxième base de données permet de sauvegarder l'historique des accès/modifications.
J'utilise hibernate et deux base de données mysql différentes.

voici mon fichier de config :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
 
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 
	<!-- ========================= DATABASE RELATED DEFINITIONS ========================= -->
	<!-- Here we setup the dataSource bean. It will be used by the persistence framework below.
		We're using a connection pool implementation by Apache. The jdbc settings are replaced
		by the placeholder data found in the jdbc.properties file defined above.
 
	-->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://127.0.0.1/${bdd1}" />
		<property name="username" value="${username1}" />
		<property name="password" value="${password1}" />
	</bean>
 
	<bean id="dataSourceLog" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://127.0.0.1/${bdd2}" />
		<property name="username" value="${username2}" />
		<property name="password" value="${password2}" />
	</bean>
 
	<bean id="persistenceUnitManager"
		class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
		<property name="persistenceXmlLocations">
			<list>
				 <value>classpath*:META-INF/persistence.xml</value>
				  <value>classpath*:META-INF/persistence_log.xml</value>
			</list>
		</property>
		<property name="dataSources">
			<map>
				<entry key="bdd1" value-ref="dataSource" />
				<entry key="bdd2" value-ref="dataSourceLog" />
			</map>
		</property>
		<!-- if no datasource is specified, use this one -->
		<property name="defaultDataSource" ref="dataSource" />
	</bean>
 
	<bean id="abstractEMF"
		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" abstract="true">
		<property name="jpaVendorAdapter">
			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
				<property name="database" value="MYSQL" />
				<property name="showSql" value="true" />
				<property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" />
				<property name="generateDdl" value="false" />
 
			</bean>
		</property>
		<property name="jpaPropertyMap">
			<map>
				<entry key="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>
				<entry key="hibernate.cache.use_query_cache" value="false"/>
				<entry key="hibernate.cache.use_second_level_cache" value="false"/>
				<entry key="hibernate.archive.autodetection" value="class, hbm" />
				<entry key="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
			</map>
		</property>
	</bean>
 
	<bean id="entityManagerFactory" parent="abstractEMF">
		<property name="persistenceUnitManager" ref="persistenceUnitManager" />
		<property name="persistenceUnitName" value="bdd1"/>
	</bean>
 
	<bean id="entityManagerFactoryLog" parent="abstractEMF">
		<property name="persistenceUnitManager" ref="persistenceUnitManager" />
		<property name="persistenceUnitName" value="bdd2"/>
	</bean>
 
 
 
	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
 
	<!-- post-processors for all standard config annotations -->
  	<context:annotation-config />
 
	<!-- Exception translation bean post processor -->
 	<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
 
	<tx:annotation-driven transaction-manager="transactionManager"/>
 
	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactory" />
	</bean>
 
	<bean id="transactionManagerLog" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="entityManagerFactoryLog" />
	</bean>
 
</beans>
Mes fichiers persistence sont du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<persistence version="1.0"
	xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
	<persistence-unit name="bdd1" transaction-type="RESOURCE_LOCAL">
		<class>com.bidule.projet.module1.model.AccessHistory</class>
                ...
		<exclude-unlisted-classes />
	</persistence-unit>
</persistence>
le chargement du contexte s'effectue sans erreur par contre lors de l'exécution de l'application les requêtes ne semble pas s'exécuter (requete select ne retournant aucun résultat) alors que cela marchait très bien avant l'ajout de la config pour l'historique (deuxième datasources).

Si quelqu'un a une idée d'où peut venir le problème.
Merci d'avance