/ / Teamsite Erro: não foi possível reverter a conexão jdbc. Nenhuma operação permitida após a conexão ser fechada - mysql, jdbc, teamsite

Erro no Teamsite: não foi possível reverter a conexão do jdbc. Nenhuma operação permitida após a conexão ser fechada - mysql, jdbc, teamsite

Teamsite instalado no My SQL gera esse erro server.log sempre que eu bato fluxo de trabalho aba.

Estou recebendo esse erro pela primeira vez. Foram 4 a 5 meses e o site de equipe funciona perfeitamente na minha VM.

Aqui está o 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

Alguém tem alguma idéia do que pode ser motivo para tal comportamento?

Respostas:

1 para resposta № 1

Parece que você está cometendo quando a conexão estáfechadas. Pode ser que você fechou antes ou fechou automaticamente. As razões podem ser diferentes, mas primeiro verifique seu código para ter certeza de que connection.closs () é chamado em finally block, o que garantirá que ocorram exceções de fechamento. Algo assim:

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

Outra verificação é centralizar em um só lugar todas as conexões de abertura e fechamento, para não perder nenhuma operação.