我正在尝试将 JDBC 监控集成到 JavaMelody 中。我使用 Tomcat jdbc 池连接。我的设置是这样的(简化):
Properties props = new Properties();
props.setProperty("driver", "com.mysql.jdbc.Driver");
PoolConfiguration p = new PoolProperties();
p.setDriverClassName("net.bull.javamelody.JdbcDriver");
p.setDbProperties(props);
p.setUsername("myusername");
p.setPassword("mypassword");
p.setUrl(connectionParameters.getUrl());
org.apache.tomcat.jdbc.pool.DataSource dataSource = new org.apache.tomcat.jdbc.pool.DataSource();
dataSource.setPoolProperties(p);
(我更喜欢这种设置而不是 web.xml 中的 <context> 描述)
我得到以下异常
java.sql.SQLException:找不到适用于 java.sql.DriverManager.getConnection(DriverManager.java:596) 的 jdbc:mysql://127.0.0.1:3306/mydatabase?autoReconnect=true&characterEncoding=UTF-8 的驱动程序。 sql.DriverManager.getConnection(DriverManager.java:187) at net.bull.javamelody.JdbcDriver.connect(JdbcDriver.java:83) at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)在 org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182) 在 org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701) 在 org.apache.tomcat.jdbc .pool.ConnectionPool.borrowConnection(ConnectionPool.java:635) 在 org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:486) 在 org.apache.tomcat.jdbc.pool.ConnectionPool.(ConnectionPool.爪哇:144) 在 org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103) 在 org.apache.tomcat 的 org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116) .jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127) at ...(我的方法)
如果没有 javamelody 运行良好,javamelody 总体上运行良好。
我究竟做错了什么?有任何想法吗?