with services method management docs actuator spring datasource spring-boot

services - spring boot management



spring-boot: configura automáticamente el administrador de transacciones (1)

Parece que me falta algo: la inyección automática de una fuente de datos funciona, pero falla la inyección de DataSourceTransactionManager.

Dependencias:

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.1.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> </dependencies>

Código:

@SpringBootApplication public class MainApplication { @Autowired private DataSource dataSource; // this fails @Autowired private DataSourceTransactionManager transactionManager; public static void main(String... args) { SpringApplication.run(MainApplication.class, args); } }

Esperaba que DataSourceTransactionManagerAutoConfiguration se ocuparía de eso, pero no fue así. ¿Alguna pista?

La muestra está en github: https://github.com/jangalinski/springboot-playground


Spring Boot está registrando bean PlatformTransactionManager , y está intentando inyectar DataSourceTransactionManager . Si cambia a la clase adecuada, funcionará de la caja:

@Autowired private PlatformTransactionManager transactionManager;