2017-01-19 3 views
0

Вот журнал. Проблема возникает после дня без какого-либо взаимодействия. Это асинхронный почтовый плагин? это настройка? Кто может мне помочь, любая помощь приветствуется.После того, как программа зависает через день. Нужно решение

Grails 2.4.0, убунту 16,04

The last packet successfully received from the server was 278.019 milliseconds ago. The last packet sent successfully to the server was 218.021 milliseconds ago. 
ERROR 2017-01-19 10:37:47,642 interceptor.TransactionInterceptor Application exception overridden by rollback exception 
org.springframework.dao.RecoverableDataAccessException: Hibernate operation: could not prepare statement; SQL [update async_mail_mess set status=? where end_date<? and (status=? or status=?)]; Communications link failure 

The last packet successfully received from the server was 278.019 milliseconds ago. The last packet sent successfully to the server was 218.021 milliseconds ago.; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet successfully received from the server was 278.019 milliseconds ago. The last packet sent successfully to the server was 218.021 milliseconds ago. 
    at grails.plugin.asyncmail.AsynchronousMailPersistenceService$_updateExpiredMessages_closure4.doCall(AsynchronousMailPersistenceService.groovy:66) 
    at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:814) 
    at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:714) 
    at grails.plugin.asyncmail.AsynchronousMailPersistenceService.updateExpiredMessages(AsynchronousMailPersistenceService.groovy:63) 
    at grails.plugin.asyncmail.ExpiredMessagesCollectorJob.execute(ExpiredMessagesCollectorJob.groovy:13) 
    at grails.plugins.quartz.GrailsJobFactory$GrailsJob.execute(GrailsJobFactory.java:104) 
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202) 
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet successfully received from the server was 278.019 milliseconds ago. The last packet sent successfully to the server was 218.021 milliseconds ago. 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) 
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3853) 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2471) 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651) 
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2671) 
    at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5024) 
    ... 8 more 
Caused by: java.net.SocketException: Broken pipe (Write failed) 
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 
    at java.net.SocketOutputStream.write(SocketOutputStream.java:153) 
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3834) 
    ... 12 more 
ERROR 2017-01-19 10:37:47,642 listeners.ExceptionPrinterJobListener Exception occurred in job: Grails Job 
org.quartz.JobExecutionException: org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: rollback failed [See nested exception: org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: rollback failed] 
    at grails.plugins.quartz.GrailsJobFactory$GrailsJob.execute(GrailsJobFactory.java:111) 
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202) 
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) 
Caused by: org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: rollback failed 
    at grails.plugin.asyncmail.ExpiredMessagesCollectorJob.execute(ExpiredMessagesCollectorJob.groovy:13) 
    at grails.plugins.quartz.GrailsJobFactory$GrailsJob.execute(GrailsJobFactory.java:104) 
    ... 2 more 
Caused by: org.hibernate.TransactionException: rollback failed 
    ... 4 more 
Caused by: org.hibernate.TransactionException: unable to rollback against JDBC connection 
    ... 4 more 
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during rollback(). Transaction resolution unknown. 
    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:1013) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 
    at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4757) 
    ... 4 more 
ERROR 2017-01-19 10:38:09,620 spi.SqlExceptionHelper Communications link failure 
+0

ниже ответы могут быть немного поспешными .. AsynchronousMailPersistenceService $ _updateExpiredMessages_closure4.doCall (AsynchronousMailPersistenceService.groovy: 66) начинается здесь. Это может быть какая-то запись, которая изменила состояние или проблему с конфигурацией с плагином - или что-то еще - чтобы вы правильно относились к плагину, вызывает асинхронный запуск в приложении grails. Не специально ваше приложение grails с проблемой. Вместо этого внутри – Vahid

ответ

0

Это может быть по двум причинам

1.) Ваш Grails ящик был отключен от сети.

2.) Сервер базы данных останавливается.

0

Вы можете добавить параметры конфигурации вашей DATASOURCE конфигурации, чтобы обеспечить соединение с базой данных сохраняется живым

dataSource { 
    properties { 
     validationQuery=SELECT 1 FROM DUAL 
     validationQueryTimeout=3 
     validationInterval=15000 
    } 
} 

validationQuery будет зависеть от поставщика базы данных, например, выше работает с Oracle

 Смежные вопросы

  • Нет связанных вопросов^_^