Se corro più thread contro la mia web app ottengo:Operazioni [SQLITE_BUSY] file di database è bloccato con select
java.sql.SQLException: [SQLITE_BUSY] The database file is locked (database is locked)
at org.sqlite.DB.newSQLException(DB.java:383)
at org.sqlite.DB.newSQLException(DB.java:387)
at org.sqlite.DB.execute(DB.java:339)
at org.sqlite.PrepStmt.executeQuery(PrepStmt.java:75)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
so che solo un thread può scrivere in un database SQLite, ma io sono solo leggendo dal database. Allora, perché ricevo questo messaggio di errore?
BTW: Il mio pool di connessioni si presenta così:
<bean class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" id="dataSource">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
<property name="initialSize" value="1" />
<property name="maxActive" value="2" />
<property name="maxIdle" value="1" />
<property name="poolPreparedStatements" value="true" />
</bean>
La messa a punto è: Java 1.6, Tomcat 7.0.34, Primavera 3.2, Hibernate 3.6.9 e 3.7.2 sqlite3
Saluti Roger
Possibile duplicato di [SQLITE \ _BUSY Il file di database è bloccato (il database è bloccato) in wicket] (http://stackoverflow.com/questions/8559623/sqlite-busy-the-database-file-is-locked- database-is-locked-in-wicket) – Stephan