0

Teamsite installed on My SQL throws this error in server.log whenever I hit workflow tab.

I am getting such error for very first time. It has been 4-5 months and teamsite runs perfect in my VM.

Here is the 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

Does anybody have any idea what may be reason for such behaviour?

smya.dsh
  • 651
  • 5
  • 10
  • 23

1 Answers1

1

It seems, you are committing when connection is closed. May be you closed it before or it automatically closed. The reasons can be different, but at first check your code to be sure that connection.closs() is called in finally block which will assure closing even exception happened. Something like this:

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

Another check is to centralize in one place all connection opening and closing, to not miss any operation.

Ashot Karakhanyan
  • 2,804
  • 3
  • 23
  • 28
  • I am not handling the connection stuff. So I can't change it programmatically. Teamsite does it internally. Only I can do one thing that, changing the ideal time or timeout limit. Any idea how to do it in Teamsite? – smya.dsh Jan 29 '14 at 09:12