Java Tomcat Postgres连接
我在Servlet中使用一个singleton类作为PostgresSQL连接。问题是,一旦它被打开,它就会工作一段时间(我猜直到某个超时),然后它开始抛出一个I/O异常。知道Tomcat VM中的singleton类发生了什么吗?Java Tomcat Postgres连接,java,postgresql,tomcat,jdbc,Java,Postgresql,Tomcat,Jdbc,我在Servlet中使用一个singleton类作为PostgresSQL连接。问题是,一旦它被打开,它就会工作一段时间(我猜直到某个超时),然后它开始抛出一个I/O异常。知道Tomcat VM中的singleton类发生了什么吗? 谢谢,我不知道。只要做正确的事,不要重新发明轮子 使用一个。或者,也可以自己做(我喜欢使用Spring,但如果您的web应用程序非常简单,那么这可能太过分了) 使用数据源我不知道。只要做正确的事,不要重新发明轮子 使用一个。或者,也可以自己做(我喜欢使用Spring
谢谢,我不知道。只要做正确的事,不要重新发明轮子 使用一个。或者,也可以自己做(我喜欢使用Spring,但如果您的web应用程序非常简单,那么这可能太过分了)
使用
数据源
我不知道。只要做正确的事,不要重新发明轮子
使用一个。或者,也可以自己做(我喜欢使用Spring,但如果您的web应用程序非常简单,那么这可能太过分了)
使用数据源
然后它开始抛出I/O异常
那么,例外情况究竟是什么
另外,值得注意的是,从多个线程使用相同的Postgres JDBC连接是安全的,但是
然后它开始抛出I/O异常
那么,例外情况究竟是什么
另外,值得注意的是,从多个线程使用相同的Postgres JDBC连接是安全的,但是。Tomcat中没有单例;这正是当你只有一个并保持长时间开放的连接时的工作方式。这叫“超时” 这种设计无法扩展。更好的解决方案是尽可能短的时间保持连接打开。您的代码应该在事务范围内打开、使用和关闭连接
您还应该在Tomcat中设置一个 在Tomcat中没有单子;这正是当你只有一个并保持长时间开放的连接时的工作方式。这叫“超时” 这种设计无法扩展。更好的解决方案是尽可能短的时间保持连接打开。您的代码应该在事务范围内打开、使用和关闭连接
您还应该在Tomcat中设置一个 很可能异常告诉您出了什么问题,那么它说了什么?最近发布了相同的问题:很可能异常告诉您出了什么问题,那么它说了什么?最近发布了相同的问题: