Feb 19, 2013 2:20:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Rest Servlet] in context with path [/minigps] threw exception
org.hibernate.TransactionException: JDBC begin transaction failed:
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:76)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1395)
at com.minigps.dao.IprecordDAO.isIpValidAndUpdateCount(IprecordDAO.java:233)
at com.minigps.bll.ServiceLogAndCheck.isValid(ServiceLogAndCheck.java:48)
at com.minigps.api.restful.service.GoogleCellResourceService.getGoogleRequest(GoogleCellResourceService.java:25)
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:168)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:70)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:279)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:84)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:74)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1357)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1289)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1229)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:497)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:684)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1600)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
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:1269)
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1261)
at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5029)
at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:912)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:72)
... 39 more程序部署完了 过段时间报这个错,急死人了。c3p0hibernatemysqljdbcservlet
SEVERE: Servlet.service() for servlet [Rest Servlet] in context with path [/minigps] threw exception
org.hibernate.TransactionException: JDBC begin transaction failed:
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:76)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1395)
at com.minigps.dao.IprecordDAO.isIpValidAndUpdateCount(IprecordDAO.java:233)
at com.minigps.bll.ServiceLogAndCheck.isValid(ServiceLogAndCheck.java:48)
at com.minigps.api.restful.service.GoogleCellResourceService.getGoogleRequest(GoogleCellResourceService.java:25)
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:168)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:70)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:279)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:84)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:136)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:74)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1357)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1289)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1229)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:497)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:684)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1600)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
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:1269)
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1261)
at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5029)
at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:912)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:72)
... 39 more程序部署完了 过段时间报这个错,急死人了。c3p0hibernatemysqljdbcservlet
解决方案 »
- tomcat启动出错....
- 一个关于swf显示的问题(急问)
- ??
- 请问大家这是什么问题,求救啊,看在我是做毕业设计的份上,请高手帮忙啊!!!
- 请教一个简单的计数器问题
- 谁配置过ibmhttpserver,为什么我配置了,jsp文件不能执行呢?
- 为什么我的myeclipse怎么无法导入org.jgraph下面的包?????
- 请问如何得到数据库中某一列的所有数据?
- 如何使这一个页面中定义的变量在下一个页面还能使用?
- 下面的代码,我想把src后面的相对地址,改成绝对地址!试了几个方法还是没有成功!麻烦大侠们了!
- poi导出 ClientAbortException: java.io.IOException报错
- 分享一个ExtJS视频地址,USPCAT上的,30集全有
public Iprecord findAvaiable(String ipstr, int perdaycount) {
Iprecord ip = null;
Object[] dummy = null;
// Session session = getSession();
// Transaction trans = session.beginTransaction();
try {
// String queryString = String.format("from Iprecord as model where model.ip = '%s'", ipstr);
// Query queryObject = getSession().createQuery(queryString);
// queryObject.setLockMode("usedCount", LockMode.PESSIMISTIC_WRITE);
String queryString = String.format("select id, ip, used_count, lastupdate_time from iprecord as model where model.ip = '%s' for update", ipstr);
SQLQuery queryObject = getSession().createSQLQuery(queryString);
//trans.commit();
if(queryObject.list().size() > 0)
{
dummy = (Object[]) queryObject.list().get(0);
ip = new Iprecord();
ip.setId(Integer.valueOf(dummy[0].toString()));
ip.setIp(dummy[1].toString());
ip.setUsedCount(Integer.valueOf(dummy[2].toString()));
ip.setLastupdateTime(Timestamp.valueOf(dummy[3].toString()));
}
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
finally
{
}
return ip;
}
@SuppressWarnings("deprecation")
public static boolean isIpValidAndUpdateCount(String ipstr)
{
boolean result = false;
int perdaycount = AppConfigService.getAppConfigService().mlocate_getIpPerdayCount();
IprecordDAO dao = new IprecordDAO();
Iprecord iprecord = null; Session session = dao.getSession();
Transaction trans = null;
try
{
trans = session.beginTransaction();
iprecord = dao.findAvaiable(ipstr, perdaycount);
if(iprecord != null)
{
Date currentDate = new Date();
currentDate.setDate(currentDate.getDate() -1);
if(currentDate.getTime() > iprecord.getLastupdateTime().getTime())
{
result = true;
iprecord.setUsedCount(1);
Date lastupdateTime = new Date();
Timestamp timeStamp = new Timestamp(lastupdateTime.getTime());
iprecord.setLastupdateTime(timeStamp);
}
else
{
if(iprecord.getUsedCount()< perdaycount)
{
result = true;
iprecord.setUsedCount(iprecord.getUsedCount()+1);
}
}
}
else
{
//insert the ip record
result = true;
iprecord = new Iprecord();
iprecord.setIp(ipstr);
iprecord.setUsedCount(1);
}
if(iprecord.getId() != null)
{
//save
String queryString = "update iprecord set used_count = ?, lastupdate_time = ? where id = ?"; SQLQuery queryObject = session.createSQLQuery(queryString);
queryObject.setInteger(0, iprecord.getUsedCount());
queryObject.setDate(1, iprecord.getLastupdateTime());
queryObject.setInteger(2, iprecord.getId());
queryObject.executeUpdate();
}
else
{
String queryString = "insert ignore into iprecord(ip, used_count, lastupdate_time) values(?, ?, ?)";
SQLQuery queryObject = session.createSQLQuery(queryString);
queryObject.setString(0, iprecord.getIp());
queryObject.setInteger(1, iprecord.getUsedCount());
queryObject.setDate(2, iprecord.getLastupdateTime());
queryObject.executeUpdate();
}
trans.commit();
}
catch(RuntimeException re) {
log.error("find by property name failed", re);
if(trans != null)
{
trans.rollback();
}
throw re;
}
finally
{
session.close();
}
return result;
}
###########################
### C3P0 Connection Pool###
###########################hibernate.c3p0.max_size 200
hibernate.c3p0.min_size 10
hibernate.c3p0.timeout 1800
hibernate.c3p0.max_statements 0
hibernate.c3p0.idle_test_period 1500
hibernate.c3p0.acquire_increment 2
hibernate.c3p0.automaticTestTable con_test
hibernate.c3p0.debugUnreturnedConnectionStackTraces true
hibernate.c3p0.unreturnedConnectionTimeout 300
hibernate.c3p0.testConnectionOnCheckin true
#hibernate.c3p0.testConnectionOnCheckout true
hibernate.c3p0.maxIdleTime 1800
hibernate.c3p0.maxConnectionAge 1600
看样子像mysql 8小时超时。但我的没运行8小时,大概1小时左右。