2014-01-28 31 views
0

安裝在My SQL上的Teamsite會在server.log中拋出此錯誤每當我點擊工作流程選項卡時。Teamsite錯誤:無法回滾jdbc連接。連接關閉後不允許任何操作

我第一次遇到這樣的錯誤。 已經有4-5個月的時間,團隊網站在我的虛擬機中完美運行。

這是堆棧跟蹤。

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 

有沒有人有任何想法可能是這種行爲的原因?

回答

1

看起來,你在連接關閉時提交。可能是您之前關閉它或自動關閉。原因可能不同,但首先檢查你的代碼以確保connection.closs()在finally塊中被調用,這將確保關閉甚至發生異常。事情是這樣的:

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

一個檢查,在一個地方的所有連接開合集中,不要錯過任何操作。

+0

我不處理連接的東西。所以我不能通過編程來改變它。 Teamsite在內部進行。只有我可以做一件事,改變理想的時間或超時限制。 任何想法如何在Teamsite中做到這一點? –

相關問題