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 CommonsLoggingJARが欠落していると思います。

メッセージ

クラスorg.logicalcobwebs.proxool.ProxoolDataSourceを初期化できませんでした

名前付きクラスの静的初期化が失敗したことを示します。

Proxoolのソースをダウンロードしましたが、このクラスの静的初期化は次の行だけでした。

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

Commons Logging JARをプロジェクトに追加して、サーバーを再起動してみてください。

于 2012-11-19T22:50:46.457 に答える