[JAVA] @BatchDataSource utilisé lors de la définition de plusieurs DataSources dans spring-batch

Lors de la définition de plusieurs DataSources dans spring-batch, vous pouvez spécifier lequel utiliser dans la configuration automatique de spring-batch avec @ BatchDataSource ''. Selon le javadoc de @ BatchDataSource```, il semble avoir été ajouté dans` 2.2.0```.

La définition est la suivante, et la réalité est simplement @ Qualifier ''. Selon javadoc, l'utilisation typique est une DataSource principale qui donne @ Primary '' et une seconde DataSource pour spring-batch qui donne cette annotation. Ce serait comme si vous utilisiez ceci lorsque la base de données principale et la base de données de destination de stockage des métadonnées sont séparées.

/**
 * Qualifier annotation for a DataSource to be injected into Batch auto-configuration. Can
 * be used on a secondary data source, if there is another one marked as
 * {@link Primary @Primary}.
 *
 * @author Dmytro Nosan
 * @since 2.2.0
 */
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier
public @interface BatchDataSource {

}

Exemple d'utilisation.

	@Bean
	@BatchDataSource
	public DataSource springBatchDs() {
		return DataSourceBuilder.create().url("jdbc:h2:~/test").username("sa").password("").build();
	}
	
	@Bean
	@Primary
	public DataSource primaryDs() {
		return DataSourceBuilder.create().url("jdbc:oracle:thin:system/oracle@localhost:11521/XEPDB1").username("system").password("oracle").build();
	}

Dans le cas de l'exemple ci-dessus, le principal est Oracle et la destination de stockage des métadonnées est H2.

Ce n'est pas que ce genre de réglage n'était pas possible dans le passé, mais il semble que l'annotation dédiée facilite la clarification de l'intention.

Recommended Posts

@BatchDataSource utilisé lors de la définition de plusieurs DataSources dans spring-batch
Lors de la recherche de plusieurs dans un tableau Java
Lors de la recherche de plusieurs dans un tableau Java
@BatchDataSource utilisé lors de la définition de plusieurs DataSources dans spring-batch
Ajouter un élément lors de la connexion avec un appareil
Comment définir plusieurs orm.xml dans Spring4, JPA2.1