java - Proxool java.lang.NoClassDefFoundError

标签 java jdbc glassfish connection-pooling proxool

我刚刚开始使用 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:无法初始化类org.logiccobwebs.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();

如果有人有任何想法,将感谢您的帮助,提前致谢。

最佳答案

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

消息

Could not initialize class org.logicalcobwebs.proxool.ProxoolDataSource

indicates that static initialization of the named class failed.

I downloaded the source of Proxool, and the only static initialization in this class was the following line:

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

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

关于java - Proxool java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13462861/

相关文章:

java - 来自 ConstraintViolationException 的特定信息

java - 使用 ArrayList 在 JDBC 中插入,给出的行不按顺序排列

tomcat - 如何让 Glassfish 为每个应用程序使用不同的配置

java - Java Enterprise 应用程序中的类加载问题

java - 在并行流中遇到空对象时添加日志

c# - 删除大文本文件中的所有重复项

java - 不会画瓷砖?

java - 自定义注释中的 Spring 表达式语言

java - 没有结果时 executeQuery(String sql) 返回什么?

java - RESTful 服务空响应