bobpxp 发表于 2019-1-26 14:04:48

解决Transaction is not active: + : Cannot open connection

  16:21:02,015 WARN SQL Error: 0, SQLState: null
16:21:02,015 ERROR Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57ff89:6ed:4ad2e511:55 status: ActionStatus.ABORTING >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57ff89:6ed:4ad2e511:55 status: ActionStatus.ABORTING >)
16:21:02,015 ERROR javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection
  解决办法:之前网上搜到的解决方法:设置JBOSS服务器 jboss-service.xml配置文件 的事务超时时间
由默认的300秒 改多一点 如600秒

   
   
      600
      ${jboss.server.data.dir}/tx-object-store
   
测试后发现此方法无效。由于公司的有多台测试机,后来发现只在其中一台上会报此异常,其余的都可以正常运行,这样基本可以排除代码错误。初步定位为数据库问题,手动修改建表语句,默认用utf-8的格式来创建新表,发现问题仍然存在,后来用数据库工具SQLyog(Heidi SQL也可)仔细比较表结构发现,虽然建表是utf8,但是表字段仍然是latin来创建的,这样当插入数据库的记录有中文就出现上述异常。至此,修改建表和字段的字符集,问题解决。



页: [1]
查看完整版本: 解决Transaction is not active: + : Cannot open connection