当前位置: 首页 > 知识库问答 >
问题:

JDBC连接:超时后不重新连接

叶景龙
2023-03-14
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">

  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.core.JasperListener"/>
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

  <GlobalNamingResources>

        <Resource auth="Container"
                  description="User database that can be updated and saved" 
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
                  name="UserDatabase" 
                  pathname="conf/tomcat-users.xml" 
                  type="org.apache.catalina.UserDatabase"
        />

        <Resource auth="Container" 
                  driverClassName="com.mysql.jdbc.Driver" 
                  initialSize="20"                              
                  global="mysql/GestaoProjetos" 
                  maxActive="800" 
                  maxIdle="20" 
                  maxWait="30000" 
                  minEvictableIdleTimeMillis="10000" 
                  name="mysql/GestaoProjetos" 
                  password="laranja" 
                  removeAbandoned="true" 
                  removeAbandonedTimeout="300" 
                  testOnBorrow="true" 
                  testWhileIdle="true" 
                  timeBetweenEvictionRunsMillis="10000" 
                  type="javax.sql.DataSource" 
                  url="jdbc:mysql://localhost/GestaoProjetos?autoReconnect=true" 
                  username="tomcat" 
                  validationQuery="SELECT 1"
                  validationInterval="30000"
        />

  </GlobalNamingResources>

  <Service name="Catalina">

      <Connector connectionTimeout="20000" 
                 port="80" 
                 protocol="HTTP/1.1" 
                 redirectPort="443"
      />

      <Connector port="9" 
                 protocol="AJP/1.3" 
                 redirectPort="443"
      />

      <Engine   defaultHost="localhost" 
                name="Catalina">

                <Realm  className="org.apache.catalina.realm.UserDatabaseRealm" 
                        resourceName="UserDatabase"
                />

                <Host appBase="webapps" 
                      autoDeploy="true" 
                      name="localhost" 
                      unpackWARs="true" 
                      xmlNamespaceAware="false" 
                      xmlValidation="false">

                        <Context docBase="GestaoProjetos" 
                                 path="/GestaoProjetos" 
                                 reloadable="true" 
                                 source="org.eclipse.jst.jee.server:GestaoProjetos"
                                 crossContext="true"
                        />

                </Host>
      </Engine>
  </Service>
</Server>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory name="SessionFactoryUtil">
        <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
        <property name="hibernate.connection.username">USERNAME</property>
        <property name="hibernate.connection.password">PASSWORD</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/GestaoProjetos?autoReconnect=true</property>
        <property name="hibernate.connection.pool_size">200</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="hibernate.current_session_context_class">thread</property>
        <property name="hibernate.connection.release_mode">after_transaction</property>
        <property name="hibernate.show_sql">false</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.generate_statistics">true</property>
        <!-- Automatic schema creation (begin) === -->
        <property name="hibernate.hbm2ddl.auto">update</property>
        <!-- property name="mappingJarLocations">file:/WEB-INF/lib/</property> --> 
    </session-factory>
</hibernate-configuration>

共有1个答案

苍兴怀
2023-03-14

答案是停留在错误中;

AutoReConnect=true

在连接URL的末尾添加此参数。

 类似资料:
  • 我的Spring Hibernate Web应用程序在MySQL上运行,这给我带来了麻烦。 我四处寻找并尝试了不同的配置,在这个网站上阅读了相当多的帖子,但它仍然会弹出微笑的头像。 错误消息是:由:com.mysql.jdbc.exceptions.jdbc4.通信异常:从服务器成功接收到的最后一个数据包是63,313,144毫秒前。最后一个成功发送到服务器的数据包是63,313,144毫秒前。比

  • 我添加了org.apache.tomcat.jdbc.pool.PoolProperties。每次DB重新启动时,应用程序都是不可用的,因为已建立的连接仍然存在。我得到以下错误: 组织。postgresql。util。PSQLException:此连接已关闭 我试着在游泳池上使用一些其他设置,但没有效果。。。 谢谢你的帮助!

  • Tomcat在使用后不释放连接的原因可能是什么? 这是我的配置

  • 问题内容: 我正在尝试使用Java设置网络超时我的Oracle数据库连接。但是,我遇到了错误。以下是示例代码及其各自的例外。 我得到的异常是: 我相信这与抽象方法有关(请参见AbstractMethodError)。可能导致此错误的原因是我只实现了我认为已经在Java中定义的方法,因此不拒绝编译。 注意:如果有抽象方法,Java不允许编译具体的类。 问题答案: 是JDBC 4.1中引入的,而JDB

  • 问题内容: 我在代码中使用了RMI: 这些是4个.java文件。 接下来,我编译所有这些文件。然后创建一个using 。之后,我使用来在服务器端启动rmi注册表。然后,我开始使用服务器,最后使用客户端。 但是什么也没发生 客户端抛出的异常是 原因是什么,我该如何解决? 在客户端计算机上,这些是以下.class文件,在服务器端 问题答案: 错误消息说明了一切:您的连接超时。这意味着您的请求在某个(默

  • 我将Spring Boot和数据源与jdbc模板(postgres)一起使用。在我的服务中,我做到了 以及以后的