0

我刚开始使用 Proxool(JDBC 连接池管理器)。我下载了在以下链接中找到的 jar:http: //proxool.sourceforge.net/download.html。之后,我只是将 jar 位置添加到 netbeans 7.0.1 中的 ClassPath 中,构建项目,重新启动我的服务器(即 Glassfish),然后尝试配置它,如本示例所示:

https://java2s.com/Open-Source/Java/Database-JDBC-Connection-Pool/proxool/org/logicalcobwebs/proxool/ProxoolDataSourceTest.java.htm

我刚刚调整了示例(参数)以修复到我的应用程序中,并且下面的以下代码崩溃了。它显示了错误java.lang.NoClassDefFoundError: Could not initialize class org.logicalcobwebs.proxool.ProxoolDataSource

我不明白为什么,因为我刚刚导入了整个包。我不知道从哪里开始。

这是我的代码:

import org.logicalcobwebs.proxool.*;
import org.logicalcobwebs.*;

/* Error Here ----> */ ProxoolDataSource dataSource = new ProxoolDataSource();
        dataSource.setAlias("flpool");
        dataSource.setDriver("com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource");
        dataSource.setDriverUrl("jdbc:mysql://localhost:3306/superdb");
        dataSource.setUser("db");
        dataSource.setPassword("password");
        dataSource.setMaximumActiveTime(100);
        dataSource.setMinimumConnectionCount(8);
        dataSource.setMaximumConnectionCount(25);
        Hashtable env = new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory");
        env.put(Context.PROVIDER_URL, "rmi://localhost:1099");
        Context context = new InitialContext(env);
        context.createSubcontext("jdbc");
        context.bind(jndiName,dataSource);
        context.close();          

    DataSource ds = (DataSource) context.lookup(jndiName);

    ProxoolFacade.removeConnectionPool("flpool");   

    context.close();

如果有人有任何想法会感谢您的帮助,在此先感谢。

4

1 回答 1

2

我猜你缺少一个Apache Commons Logging JAR。

讯息

无法初始化类 org.logicalcobwebs.proxool.ProxoolDataSource

表示命名类的静态初始化失败。

我下载了Proxool的源码,这个类中唯一的静态初始化就是下面这行:

private static final Log LOG = LogFactory.getLog(ProxoolDataSource.class);

尝试将 Commons Logging JAR 添加到您的项目并重新启动服务器。

于 2012-11-19T22:50:46.457 回答