Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Licznik anulowania instrukcji MySQL nie został zatrzymany

(stare pytanie, ale napotkałem ten sam komunikat o błędzie/ostrzeżeniu) Czy używasz puli jdbc z QueryTimeoutInterceptor lub wywołaj statement.setQueryTimeout(320) funkcjonować. Wywołuje wewnętrzny wątek mysqljdbc.jar, aby anulować długo działające zapytania.

Hotdeployment Tomcata nie rozpoznaje go, więc wątek pozostaje uruchomiony i utrzymuje martwy kontekst aplikacji sieciowej nadal w pamięci RAM.

  <Resource name="jdbc/BSManager" auth="Container" 
    type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
    initialSize="2" maxActive="100" maxIdle="10" maxWait="30000"    
    username="myuser" password="mypwd"
    driverClassName="com.mysql.jdbc.Driver" 
    jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.QueryTimeoutInterceptor(queryTimeout=320)"
    url="jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&amp;characterEncoding=utf8"
        validationQuery="SELECT 1" removeAbandoned="true" removeAbandonedTimeout="7200"
        testOnBorrow="true" maxAge="1800000"
  />

Ten komunikat ostrzegawczy The web application [TI] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it dzieje się tak, nawet jeśli ten detektor jest aktywowany w tomcat/conf/server.xml plik. Nie wiem, czy martwa aplikacja internetowa zostanie wydana po przekroczeniu limitu czasu zapytania. Postanowiłem nie używać limitu czasu zapytania ze sterownikiem MySQL jdbc.

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" 
        classesToInitialize="com.mysql.jdbc.NonRegisteringDriver" />



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tabela jest podana dwukrotnie zarówno jako cel dla INSERT, jak i jako oddzielne źródło danych

  2. Ruby on Rails 3 Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/tmp/mysql.sock' w systemie OSX

  3. Wydajność MySQL:Indeksy MySQL/MariaDB

  4. mysql pivoting - jak mogę pobrać dane z tej samej tabeli do różnych kolumn?

  5. mysql sprawdzić sortowanie tabeli