尝试在tomcat 7上安装HikariCP并在启动时获取javax.naming.NamingException

时间:2015-01-21 06:40:48

标签: mysql tomcat7 hikaricp

我正在尝试使用mysql将HikariCP配置为tomcat 7上的数据源连接池。这是我的上下文文件......

    <?xml version="1.0" encoding="UTF-8"?>
    <Context allowCasualMultipartParsing="true">
   <Resource name="jdbc/application" auth="Container"
      factory="com.zaxxer.hikari.HikariJNDIFactory"
      type="javax.sql.DataSource"
      minimumIdle="5" 
      maximumPoolSize="10"
      connectionTimeout="300000"
      dataSource.implicitCachingEnabled="true" 
      dataSource.user="root"
      dataSource.password="pass"
      dataSource.url="jdbc:mysql://localhost:3306/Database"/>
    </Context>

但是在启动时我收到了这个错误......

警告:无法检索容器

的JNDI命名上下文

javax.naming.NamingException:没有绑定到此类加载器的命名上下文

如何在tomcat上配置HikariCP-2.3.0?

1 个答案:

答案 0 :(得分:0)

也许这可以帮助您

配置Tomcat定义

JNDI数据源定义的位置取决于连接的范围。您可以通过在Tomcat的conf / server.xml和conf / context.xml中指定它们来全局定义它们,也可以通过在conf / Catalina / localhost / WebAppContext.xml中定义它们(在其中WebAppContext是Web应用程序)来将它们限定为单个应用程序应用的上下文,基本上是Tomcat的webapps目录中的目录名称。

<Resource name="jdbc/LiferayPool" auth="Container"
  factory="com.zaxxer.hikari.HikariJNDIFactory"
  type="javax.sql.DataSource"
  minimumIdle="5" 
  maximumPoolSize="10"
  connectionTimeout="300000"
  dataSourceClassName="org.postgresql.ds.PGSimpleDataSource"
  dataSource.url="jdbc:postgresql://localhost:5432/lportal"
  dataSource.implicitCachingEnabled="true" 
  dataSource.user="user"
  dataSource.password="pwd" />

https://community.liferay.com/blogs/-/blogs/tomcat-hikaricp