/ / Teamsite Erreur: Impossible d'annuler la connexion jdbc. Aucune opération autorisée après la fermeture de la connexion - mysql, jdbc, teamsite

Erreur Teamsite: Impossible d'annuler la connexion jdbc. Aucune opération autorisée après la fermeture de la connexion - mysql, jdbc, teamsite

Teamsite installé sur My SQL lève cette erreur dans server.log chaque fois que je frappe flux de travail languette.

Je reçois une telle erreur pour la toute première fois. Cela fait 4 ou 5 mois et teamsite fonctionne parfaitement dans ma VM.

Voici le stacktrace.

ERROR LocalDataSourceJobStore,QuartzScheduler_JasperServerScheduler-NON_CLUSTERED_MisfireHandler:2414 - MisfireHandler: Error handling misfires: Couldn"t rollback jdbc connection. No operations allowed after connection closed.
org.quartz.JobPersistenceException: Couldn"t rollback jdbc connection. No operations allowed after connection closed. [See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.rollbackConnection(JobStoreSupport.java:2279)
at org.quartz.impl.jdbcjobstore.JobStoreCMT.doRecoverMisfires(JobStoreCMT.java:1311)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:2409)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:2428)
* Nested Exception (Underlying Cause) ---------------
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at sun.reflect.GeneratedConstructorAccessor351.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1014)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1290)
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1282)
at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4975)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:681)
at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:500)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.rollbackConnection(JobStoreSupport.java:2277)
at org.quartz.impl.jdbcjobstore.JobStoreCMT.doRecoverMisfires(JobStoreCMT.java:1311)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:2409)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:2428)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Quelqu'un a-t-il une idée de ce qui peut être la raison d'un tel comportement?

Réponses:

1 pour la réponse № 1

Il semble que vous vous engagez lorsque la connexion estfermé. Peut-être que vous l'avez fermé avant ou automatiquement fermé. Les raisons peuvent être différentes, mais vérifiez d'abord votre code pour vous assurer que connection.closs () est appelé dans bloc enfin, ce qui garantira la fermeture même si une exception s'est produite. Quelque chose comme ça:

try {
// Your code
conn.commit();
} catch (SQLException e) {
conn.rollback()
} finally {
conn.close();
}

Une autre vérification consiste à centraliser toutes les connexions en ouverture et en fermeture afin de ne manquer aucune opération.