Deux instances H2 différentes à créer en mémoire. Pour s'assurer que cela arrive, j'ai initialisé les deux instances avec le même shema et différentes données. Alors que lorsque je interroge en utilisant DAO ensemble différent de données prélevées à partir de différentes sources de données. Cependant, cela ne se produit pas. Qu'est-ce que je fais mal? Comment nommer l'instance de H2 correcte?Spring + plusieurs instances H2 en mémoire
@Bean(name = "DS1")
@Primary
public EmbeddedDatabase dataSource1() {
return new EmbeddedDatabaseBuilder().
setType(EmbeddedDatabaseType.H2).
setName("DB1").
addScript("schema.sql").
addScript("data-1.sql").
build();
}
@Bean(name = "DS2")
public EmbeddedDatabase dataSource2() {
return new EmbeddedDatabaseBuilder().
setType(EmbeddedDatabaseType.H2).
setName("DB2").
addScript("schema.sql").
addScript("data-2.sql").
build();
}
Votre 'schema.sql' crée-t-il des bases de données avec le même nom? – woemler
Vous ne pouvez pas déclarer deux beans principaux d'un même type - probablement la cause d'un comportement inattendu – Mikhail
Il s'agissait d'une faute de frappe dans le copier-coller. En fait, seul le premier DS est @Primary. Cela ne marche toujours pas. – sreehari