gpt4 book ai didi

java - 从 Tomcat 中转换 JDBC JNDI 数据源 - ComboPooledDataSource

转载 作者:行者123 更新时间:2023-11-28 22:28:15 25 4
gpt4 key购买 nike

有人可以让我摆脱痛苦并解释为什么会发生这种情况以及如何解决它。

  1. 一个 tomcat 数据源

    <Resource name="MY_JDBC_NAME" auth="Container"
    driverClass="oracle.jdbc.OracleDriver"
    jdbcUrl="MyURL"
    user="MyUser"
    password="MyPassword"
    factory="org.apache.naming.factory.BeanFactory"
    type="com.mchange.v2.c3p0.ComboPooledDataSource"
    maxPoolSize="25"
    minPoolSize="5"
    acquireIncrement="1"
    acquireRetryAttempts = "2"
    idleConnectionTestPeriod = "60"
    testConnectionOnCheckout = "true"
    preferredTestQuery = "SELECT 1 FROM DUAL"

    />

  2. 查找

    ComboPooledDataSource ds = (ComboPooledDataSource) ctx.lookup(     "java:comp/env/MY_JNDI_NAME");

这导致了莫名其妙

java.lang.ClassCastException: com.mchange.v2.c3p0.ComboPooledDataSource cannot be cast to com.mchange.v2.c3p0.ComboPooledDataSource

提前致谢

最佳答案

我正在使用这个,也许它也很适合你,试试这个,

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

....

Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:comp/env");
DataSource ds = (DataSource) envContext.lookup("MY_JDBC_NAME");

关于java - 从 Tomcat 中转换 JDBC JNDI 数据源 - ComboPooledDataSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33034251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com