Bonjour,
Je développe un site web sous Struts2.0.11/Hibernate 3.2.
Mes images sont en base de données (Postgres 8.2). Pour les récupérer, j'utilise la méthode proposée par le wiki de Struts 2 : http://struts.apache.org/2.x/docs/ho...-of-bytes.html
En gros, je récupère les images dans des Blob via Hibernate, et je les passe à la Response avec
response.getOutputStream().write(action.getMyImageInBytes()
Depuis que je récupère des images en masse (parfois une vingtaine par page web), je me retrouve face à un problème, qui apparait de façon aléatoire lorsque je tente de récupérer une image. Comme si au bout d'un certain nombre d'images récupérées, un bug se produisait. Parfois le message est :
1 2 3 4 5 6 7 8 9 10 11
|
17:48:34,106 ERROR JDBCExceptionReporter:72 - Connections could not be acquired from the underlying database!
17:48:34,118 ERROR [default]:253 - "Servlet.service()" pour la servlet default a généré une exception
com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAcquire(BasicResourcePool.java:970)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:208)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:232)
at com.mchange.v2.c3p0.PoolBackedDataSource.getConnection(PoolBackedDataSource.java:94)
at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:35)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) |
Parfois le message ressemble à :
[C3PO Bug] Only Brand new tokeniser's identity..."
Ca mouline un bon moment avant de sortir l'exception, ça saute 3 ou quatre images, puis ça reprend correctement pour les dernières images de la page.
Savez-vous quelquechose à ce sujet ?
Merci
Pascal
Partager