Task doesn't use transaction manager on startup

Abierto
#438 1 comentario 0 reacciones 1 asignado Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

backport-2.0.x ready type: bug

This could be intended behavior, but when an spring cloud task is starting up, it doesn't use the transaction manager when initializing the execution.

Take as an example spring-cloud-task-samples/multiple-datasources. If we change the secondDataSource to disable autocommit, the application will immediately fail on startup because the creation of the execution will be rolled back immediately. after creating it.

	@Bean
	public DataSource secondDataSource() throws SQLException {
		DataSource ds = new EmbeddedDatabaseBuilder()
				.setType(EmbeddedDatabaseType.H2)
				.build();
		SimpleDriverDataSource sdds = ds.unwrap(SimpleDriverDataSource.class);
		Properties properties = new Properties();
		properties.setProperty("autoCommit", "false");
		sdds.setConnectionProperties(properties);
		return ds;
	}

So either all the initialization code should get wrapped in transaction(s), or the documentation should be updated to reflect that you only support data sources with auto-commit set to true.

Lenguaje dominante
Java
Estrellas
446
Forks
310
Merge medio
18 h 18 min
PR fusionados (30 d)
6

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de spring-cloud/spring-cloud-task

Todos los issues de spring-cloud/spring-cloud-task

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.