pom.xml
4.0.0
com.mywebsite
emusicstore
1.0-SNAPSHOT
org.apache.maven.plugins
maven-compiler-plugin
3.7.0
1.9
org.hibernate
hibernate-core
4.0.1.Final
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.Final
mysql
mysql-connector-java
8.0.11
javax.servlet
servlet-api
2.5
provided
MyWebAppContextListener.java
package com.emusicstore.utils;
import com.mysql.cj.jdbc.AbandonedConnectionCleanupThread;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Enumeration;
public class MyWebAppContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
System.out.println("************** Starting up! **************");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
System.out.println("************** Shutting down! **************");
System.out.println("Destroying Context...");
System.out.println("Calling MySQL AbandonedConnectionCleanupThread checkedShutdown");
AbandonedConnectionCleanupThread.checkedShutdown();
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Enumeration drivers = DriverManager.getDrivers();
while (drivers.hasMoreElements()) {
Driver driver = drivers.nextElement();
if (driver.getClass().getClassLoader() == cl) {
try {
System.out.println("Deregistering JDBC driver {}");
DriverManager.deregisterDriver(driver);
} catch (SQLException ex) {
System.out.println("Error deregistering JDBC driver {}");
ex.printStackTrace();
}
} else {
System.out.println("Not deregistering JDBC driver {} as it does not belong to this webapp's ClassLoader");
}
}
}
}
web.xml
com.emusicstore.utils.MyWebAppContextListener
Источник , который вдохновил меня на исправление этой ошибки.
связано с счетчиком производительности (или категории) не существует , Но с ужасным сообщением об ошибке.
Посмотрите в Perfmon для счетчика, оно должно отсутствовать на соответствующих машинах.
Я считаю, что это происходит с .NET Perf Counters иногда (не имею, почему), но , используя Lodctr 1 . Если вы укажете, какой CORCE COUNTER вы пытаетесь добраться, мы сможем дать вам дополнительную помощь.