- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经将资源信息放在我的 webapp 的 META-INF 下的 context.xml 中,以下是context.xml文件
<?xml version='1.0' encoding='utf-8'?>
<Resource name="jdbc/MysqlHikari"
auth="Container"
factory="com.zaxxer.hikari.HikariJNDIFactory"
type="javax.sql.DataSource"
maximumPoolSize="10"
connectionTimeout="10000"
jdbcUrl="jdbc:mysql://127.0.0.1:3306/testdb?verifyServerCertificate=false&useSSL=true"
driverClassName="com.cj.mysql.jdbc.Driver"
dataSource.implicitCachingEnabled="true"
dataSource.cachePrepStmts="true"
dataSource.prepStmtCacheSize="250"
dataSource.prepStmtCacheSqlLimit="2048"
dataSource.user="root"
dataSource.password="root" />
使用的mysql connector/j版本是6.0.6java版本是1_8_161
我正在尝试使用以下内容执行查找
try {
Context ctx = new InitialContext();
ds = (HikariDataSource)ctx.lookup("java:/comp/env/jdbc/MysqlHikari");
}catch(Exception e) {
LOG.error("Error looking up datasource "+e.toString());
}
这是在init方法内部完成的然而,查找始终失败,并显示以下堆栈跟踪
[23-Feb-2018 14:50:48.438] [com.zaxxer.hikari.HikariConfig] [DEBUG] - Driver class com.cj.mysql.jdbc.Driver not found in Thread context class loader WebappClassLoader
context: Servelet
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@13221655
, trying classloader WebappClassLoader
context: Servelet
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@13221655
[23-Feb-2018 14:50:48.440] [com.zaxxer.hikari.HikariConfig] [ERROR] - Failed to load driver class com.cj.mysql.jdbc.Driver from HikariConfig class classloader WebappClassLoader
context: Servelet
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@13221655
[23-Feb-2018 14:50:48.441] [com.zaxxer.hikari.util.PropertyElf] [ERROR] - Failed to set property driverClassName on target class com.zaxxer.hikari.HikariConfig
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.zaxxer.hikari.util.PropertyElf.setProperty(PropertyElf.java:146)
at com.zaxxer.hikari.util.PropertyElf.lambda$setTargetFromProperties$0(PropertyElf.java:57)
at java.util.Hashtable.forEach(Hashtable.java:878)
at com.zaxxer.hikari.util.PropertyElf.setTargetFromProperties(PropertyElf.java:52)
at com.zaxxer.hikari.HikariConfig.<init>(HikariConfig.java:135)
at com.zaxxer.hikari.HikariJNDIFactory.createDataSource(HikariJNDIFactory.java:71)
at com.zaxxer.hikari.HikariJNDIFactory.getObjectInstance(HikariJNDIFactory.java:59)
at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:94)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at org.apache.naming.NamingContext.lookup(NamingContext.java:841)
at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
at org.apache.naming.NamingContext.lookup(NamingContext.java:829)
at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
at org.apache.naming.NamingContext.lookup(NamingContext.java:829)
at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
at org.apache.naming.NamingContext.lookup(NamingContext.java:829)
at org.apache.naming.NamingContext.lookup(NamingContext.java:166)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:157)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at foodiniq.CheckProValidityServelet.init(CheckProValidityServelet.java:61)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: Failed to load driver class com.cj.mysql.jdbc.Driver in either of HikariConfig class loader or Thread context classloader
at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:512)
... 44 common frames omitted
最佳答案
如评论所述,我在驱动程序类名中有错字
正确的名字是:
com.mysql.cj.jdbc.Driver
相反,我使用的是:
com.cj.mysql.jdbc.Driver
对于使用 connector/j 5.1 或以下版本的人,正确的类是:
com.mysql.jdbc.Driver
对于以后的版本,这仍然有效,但会显示一条警告,说明它已被弃用。所以只需使用最新版本(截至撰写本文时),即:
com.mysql.cj.jdbc.Driver
关于java - 对 mysql 驱动程序使用 hikari cp 时 JNDI 查找失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48944797/
我有一个 Spring Boot 2 应用程序,它有两个数据源。两个数据源都可以工作,但是我无法更改诸如最大池大小之类的属性,我的更改没有生效。 我在 application.properties 文
在我公司的项目中,我们使用 Hikari 进行连接池管理。[Hibernate 4.3.5 + Spring 4 + Java 1.8]下面是配置 hibernate.connection.provi
我使用带有 Hikari 连接池、jpa 和 postgres 的 spring boot 2。 是否有任何理由继续使用这些选项 spring.datasource.testOnBorrow=true
我很高兴你们能给我在 HikariCP 文档中找不到的答案。鉴于我设置了以下池参数: minimumIdle 1 idleTimeout 10 minutes maxLifeTime 20 minut
我使用 HikariCP 和 jdbc 模板从一个数据库进行查询。我使用的方法如下: 我的 Hikari CP 配置文件(hikari.properties): driverClassName=org
我想了解更多关于使用 Hikari 处理连接池的信息。 我面临的问题是连接将达到最大值,即 250,然后回到 10。有两件事我想知道/调整 为什么连接数达到最大值然后又回到 10?如何检查后台发生了什
我想了解 Slick-Hikari 的工作原理,我已经阅读了很多文档,但我有一个我不理解其行为的用例。 我在默认配置下将 Slick 3 与 Hikari 一起使用。我已经有一个同时连接约 1000
我正在尝试为我的 Web 应用程序配置 HikariCP。我没有使用任何框架,它是一个简单的 Java Web 应用程序。当我尝试通过普通 JDBC 建立连接时,它成功了,我能够执行所有数据库操作。
光 CP 版本:2.7.4 这实际上不是问题,而是一些疑问。 a) maxLifetime :30 分钟后退出连接。它会在杀死它时自动创建一个新连接还是等待新请求然后创建一个新连接?考虑到 pool
我想将 Hikari 池配置为在应用程序启动时而不是在发出第一次查询时急切地初始化。 截至目前,spring initializr 项目显示在第一次查询时提供了 hikari 池。 重现问题 - 使用
我在哪里可以找到有关可以在运行时修改的 Hikari 属性的信息?我尝试修改connectionTimeout。我可以做到,它将在 HikariDataSource 中无一异常(exception)地
光:2.4.7 PostgreSQL JDBC 驱动程序:9.4-1201-jdbc41 我试图了解必须对 java.sql.Connection 对象执行哪些操作才能使其在 连接池? 我刚刚向一个多
我在哪里可以找到有关可以在运行时修改的 Hikari 属性的信息?我尝试修改connectionTimeout。我可以做到,它将在 HikariDataSource 中无一异常(exception)地
我在使用 HikariCP 和 Google App Engine for JEE 时遇到问题。 尝试访问网站时,我记录了错误: com.zaxxer.hikari.pool.HikariPool$P
我正在使用 Hikari 连接池管理器来查询 AS400 计算机中的一些表。 我设置了最少 1 个连接池连接,最多 10 个。我同时查询 5 个表。 问题是,尽管在查询之前使用 HikariDataS
我使用 Controller 、服务、存储库和 bean 配置类创建 Web 项目,为了创建 DataSource 我使用 Hikari,但是当我运行项目时出现异常 Caused by: java.s
public DataSource createHikariDatasource(String url, String username, String password, String driver
我们有一个位置服务应用程序,它从 MySQL 数据库向我们的其他应用程序提供位置相关信息。由于某种原因,定位服务在接收多个请求时,无法连接MySQL数据库。我们观察到,当同时获取连续15-20个请求时
我们的项目中有 Spring-boot/Hibernate/MYSQL 应用程序,并使用 Hikari 作为连接池。几分钟后,当我们的服务启动时,我们发现了以下问题: org.springframew
如何在 ignite 上管理资源。 考虑到我正在开发的应用程序,我有一些我曾经保留的连接(JDBC/SAP/其他)。我曾经将所有连接保存在一个池中并使用 HIKARI 管理它们。鉴于现在我可以拥有一个
我是一名优秀的程序员,十分优秀!