I am writing a test which extends Spring's AbstractTransactionalJUnit4SpringContextTests
.
In my application code I have a method which I call inside the test annotated by the following:
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
Problem
I run into a problem while using H2
as the underlying data source in-memory mode. It gives me the error:
Caused by:
org.h2.jdbc.JdbcSQLException: Timeout trying to lock table
MY_TABLE[50200-131]
When I remove the propagation, it works, and when I use an alternative database such as Oracle or MySQL with Propagation.REQUIRES_NEW
, everything works fine.
I am using Spring 3.0.2-RELEASE
and H2 1.2.131
.
How can I get H2
to work with Spring?