Playframework 2.0 Jooq连接意外关闭

Playframework 2.0 Jooq连接意外关闭,playframework-2.0,jooq,Playframework 2.0,Jooq,我正在使用jooq和play框架作为移动应用程序。当我更频繁地向play framework的api发送请求时,偶尔会抛出与连接关闭相关的jooq异常。这只有在我频繁调用api时才会发生 我们有什么线索吗 我使用的是Jooq3.5.0、Play2.6.2和mysql 5.6.16 2015-03-18 15:41:41097-[ERROR]-无法调用该操作,最终出现错误:org.jooq.exception.DataAccessException:SQL[选择'miyou\u core`.'lo

我正在使用jooq和play框架作为移动应用程序。当我更频繁地向play framework的api发送请求时,偶尔会抛出与连接关闭相关的jooq异常。这只有在我频繁调用api时才会发生

我们有什么线索吗

我使用的是Jooq3.5.0、Play2.6.2和mysql 5.6.16

2015-03-18 15:41:41097-[ERROR]-无法调用该操作,最终出现错误:org.jooq.exception.DataAccessException:SQL[选择'miyou\u core`.'login\u status\u cache`.'ID`、'miyou\u core`.'login\u core`.'login\u status\u cache`.'DEVICE\u TOKEN`、'miyou\u core`.'login\u status\u cache`.'USER\u TOKEN`、'miyou\u core`.'login\u status\u cache`.'times\u到期日`、'miyou\u core`.'login\u状态\u cache`.'LAST\u登录时间`、用户状态\u cache\u TOKENom`miyou\u core`.`login\u status\u cache`where(`miyou\u core`.`login\u status\u cache`.`USER\u TOKEN`=?和`miyou\u core`.`login\u status\u cache`.`USER\u TOKEN\u status`=?);连接已关闭!
2015-03-18 15:41:41100-[错误]-
!@6lg7i2paj-内部服务器错误,用于(GET)[/api/order/fetch/obix]->
play.api.Application$$anon$1:执行异常[[DataAccessException:SQL][选择'miyou\u core`.'login\u status\u cache`.'ID`、'miyou\u core`.'login\u core`.'login\u status\u cache`.'DEVICE\u TOKEN`、'miyou\u core`.'login\u status\u cache`.'USER\u TOKEN`、'miyou\u core`.'login\u status\u cache`.'times\u到期日`、'miyou\u core`.'login\u状态\u cache`.'LAST\u登录时间`、用户状态\u cache\u TOKENom`miyou\u core`.`login\u status\u cache`where(`miyou\u core`.`login\u status\u cache`.`USER\u TOKEN`=?和`miyou\u core`.`login\u status\u cache`.`USER\u TOKEN\u status`=?)];连接已关闭!]]
在play.api.Application$class.handleError(Application.scala:296)~[com.typesafe.play.play_2.11-2.3.7.jar:2.3.7]
at play.api.DefaultApplication.handleError(Application.scala:402)[com.typesafe.play.play_2.11-2.3.7.jar:2.3.7]
在play.core.server.netty.playdaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(playdaultUpstreamHandler.scala:320)[com.typesafe.play.play_2.11-2.3.7.jar:2.3.7]
在play.core.server.netty.playdaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(playdaultUpstreamHandler.scala:320)[com.typesafe.play.play_2.11-2.3.7.jar:2.3.7]
在scala.Option.map(Option.scala:145)[org.scala-lang.scala-library-2.11.4.jar:na]
在play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(playdaultUpstreamHandler.scala:320)[com.typesafe.play.play_2.11-2.3.7.jar:2.3.7]
在play.core.server.netty.playdaultUpstreamHandler$$anonfun$3.applyOrElse(playdaultUpstreamHandler.scala:316)[com.typesafe.play.play_2.11-2.3.7.jar:2.3.7]
在scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:344)[org.scala-lang.scala-library-2.11.4.jar:na]
在scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:343)[org.scala-lang.scala-library-2.11.4.jar:na]
在scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)[org.scala-lang.scala-library-2.11.4.jar:na]
在play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46)[com.typesafe.play.play-iteratees_2.11-2.3.7.jar:2.3.7]
在scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)[org.scala-lang.scala-library-2.11.4.jar:na]
在scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248)[org.scala-lang.scala-library-2.11.4.jar:na]
在scala.concurrent.Promise$class.complete(Promise.scala:55)[org.scala-lang.scala-library-2.11.4.jar:na]
在scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153)[org.scala-lang.scala-library-2.11.4.jar:na]
在scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23)[org.scala-lang.scala-library-2.11.4.jar:na]
在akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)[com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na]
在akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)[com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na]
在scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[org.scala-lang.scala-library-2.11.4.jar:na]
位于scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[org.scala-lang.scala-library-2.11.4.jar:na]
位于scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[org.scala-lang.scala-library-2.11.4.jar:na]
在scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[org.scala-lang.scala-library-2.11.4.jar:na]
原因:org.jooq.exception.DataAccessException:SQL[选择'miyou\u core`.'login\u status\u cache`.'ID`、'miyou\u core`.'login\u core`.'login\u status\u cache`.'DEVICE\u TOKEN`、'miyou\u core`.'login\u status\u cache`.'USER\u TOKEN`、'miyou\u core`.'login\u status\u cache`.'times\u到期日`、'miyou\u core`.'login\u状态\u cache`.'LAST\u登录时间`、用户状态\u cache\u TOKENom`miyou\u core`.`login\u status\u cache`where(`miyou\u core`.`login\u status\u cache`.`USER\u TOKEN`=?和`miyou\u core`.`login\u status\u cache`.`USER\u TOKEN\u status`=?);连接已关闭!
在org.jooq.impl.Utils.translate(Utils.java:1553)~[org.jooq.jooq-3.5.0.jar:na]
在org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:571)~[org.jooq.jooq-3.5.0.jar:na]
在org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:347)~[org.jooq.jooq-3.5.0.jar:na]
在org.jooq.impl.AbstractResultQuery.fetch(AbstractResultQuery.java:290)~[org.jooq.jooq-3.5.0.jar:na]
在org.jooq.impl.SelectImpl.fetch(SelectImpl.java:2315)~[org.jooq.jooq-3.5.0.jar:na]
在com.miyou.models.sql.LoginStatusCacheModel.findByUserToken(LoginStatusCacheModel.java:66)~[miyoucore.miyoucore-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
位于com.miyou.controllers.user.UserController.fetchLoginStatus(UserController.java:340
public class PlayConnectionProvider implements ConnectionProvider {

  public Connection connection = null;

  @Override
  public Connection acquire() {
    if (connection == null) {
      connection = DB.getConnection();
    }
    return connection;
  }

  @Override
  public void release(Connection released) {
    if (this.connection != released) {
      throw new IllegalArgumentException("Expected " + this.connection + " but got " + released);
    }
    try {
      connection.close();
      connection = null;
    } catch (SQLException e) {
      MiyouException miyouException = MiyouException.convertToMiyouException(e);
      MiaLogger.error("message=error closing connection", miyouException);
    }
  }
}