El caso es que si tienes problemas con la gestión de transacciones delegadas a las anotaciones de Spring es probable que quieras hacer un test unitario para ver si las conexiones se cierran o no.
Como configurar el test de groovy para que ejecute la política de transacciones que quieras?
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = ["classpath:/beans/misBeans1.xml","classpath:/beans/misBeans2.xml"])
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false)
class SpringConnectionsTest{
static final Logger log=Logger.getLogger(SpringConnectionsTest.class)
@Autowired
ApplicationContext context;
@Before
void setTup(){
....
}
@Test
void testSomething(){
...
}
- Así que basicamente se trata de quitar la herencia al GroovyTestCase que tendría por defecto al ser un test de groovy.
- Indicar los ficheros de beans que se quieren cargar.
- Inyectar el bean (en el ejemplo cogemos el contexto podría ser cualquier bean) con @Autowired.
log4j.logger.org.springframework.transaction=DEBUGCómo podemos ver cuándo se pilla una conexion nueva o se reutiliza una?
log4j.logger.org.springframework.jdbc.datasource.DataSourceUtils=DEBUGMi método no lo engancha, ¿qué pasa?
Podrían ser 1000 cosas, pero recuerda que el transactionManager solo funciona con métodos públicos.
No hay comentarios:
Publicar un comentario