【问题标题】:how to configure jdbc connection pool in tomcat and use in jersey如何在tomcat中配置jdbc连接池并在jersey中使用
【发布时间】:2016-12-29 20:27:52
【问题描述】:

您好,我正在尝试从连接池获取数据库连接。这是我用来获取连接的代码。我正在使用 maven 和 jersey 创建休息服务和 tomcat 8。

    Context ctx;
    DataSource ds = null;
    try {
        ctx = new InitialContext();
         ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/project");
    } catch (NamingException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

但我遇到了异常

javax.naming.NameNotFoundException: Name [jdbc/project] is not bound in this Context. Unable to find [jdbc].

tomcat/conf/server.xml中写的资源代码

<GlobalNamingResources>
<!-- Editable user database that can also be used by
     UserDatabaseRealm to authenticate users
-->
 <Resource name="jdbc/project" global="jdbc/project" auth="Container"
          type="javax.sql.DataSource" username="root" password="gaian"
          driverClassName="com.mysql.jdbc.Driver"
          url="jdbc:mysql://localhost/project" maxActive="150"
          maxWait="10000" initialSize="10"
          factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
          maxIdle="3"/>

tomcat/conf/context.xml中的代码

 <ResourceLink name="jdbc/project"
    global="jdbc/project"
    type="javax.sql.DataSource"
    />

如何解决上述问题,请帮我解决这个问题

谢谢

【问题讨论】:

  • 你已经在你的tomcat的context.xml中定义了资源?
  • 不,我在 tomcat 的 server.xml 中定义了资源,在 context.xml 中定义了资源链接
  • 任何日志文件中有任何内容吗?通常首先会出现错误导致资源无法创建。
  • 不,我没有发现任何类似错误的东西

标签: java maven tomcat jdbc jersey


【解决方案1】:

您是否在 web.xml 中包含了引用?

<resource-ref>
        <res-ref-name>jdbc/project</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

【讨论】:

    猜你喜欢
    • 2015-08-12
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 2012-07-12
    • 2012-03-02
    • 2015-12-13
    • 2014-05-07
    • 2010-12-24
    相关资源
    最近更新 更多