[JAVA] @BatchDataSource wird verwendet, wenn mehrere DataSources im Spring-Batch definiert werden

Wenn Sie mehrere DataSources im Spring-Batch definieren, können Sie angeben, welche bei der automatischen Konfiguration des Spring-Batch mit `` @ BatchDataSource``` verwendet werden soll. Laut dem Javadoc von "@ @ BatchDataSource" scheint es in "2.2.0" hinzugefügt worden zu sein.

Die Definition ist wie folgt und die Realität ist nur "@ Qualifier". Laut javadoc ist die typische Verwendung eine Hauptdatenquelle, die "@ Primary" enthält, und eine zweite Datenquelle für Spring-Batch, die diese Anmerkung enthält. Dies wäre ähnlich, wenn die Haupt-DB und die Metadatenspeicher-Ziel-DB getrennt sind.

/**
 * 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 {

}

Anwendungsbeispiel.

	@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();
	}

Im obigen Beispiel ist das Hauptelement Oracle und das Metadatenspeicherziel H2.

Es ist nicht so, dass diese Art von Einstellung in der Vergangenheit nicht möglich war, aber es scheint, dass die dedizierte Anmerkung es einfacher macht, die Absicht zu klären.

Recommended Posts

@BatchDataSource wird verwendet, wenn mehrere DataSources im Spring-Batch definiert werden
Bei der Suche nach mehreren in einem Java-Array
Bei der Suche nach mehreren in einem Java-Array
@BatchDataSource wird verwendet, wenn mehrere DataSources im Spring-Batch definiert werden
Fügen Sie ein Element hinzu, wenn Sie sich mit devise anmelden
So definieren Sie mehrere orm.xml in Spring4, JPA2.1