1
public static void main(String Data[])
{  
        ConnectionPoolDataSource dps;
        try 
        {
            cnt=new InitialContext();
            cnt.rebind("java:comp/env/jdbc/pool/dragon", dps);
        } '
        catch (NamingException ex) 
        {
            Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
        }
}

以下は、ConnectionPoolDataSource オブジェクトをバインドし、JNDI を使用して mysql のデータベースに接続する私のプログラムです。それをコンパイルすると、エラーが発生しました:

スレッド「メイン」の例外 java.lang.IllegalArgumentException: RegistryContext: バインドするオブジェクトは、リモート、参照、または参照可能でなければなりません

今、私は次の疑問を持っています:

  1. mysql データベースに接続するためのリモート オブジェクトを作成するにはどうすればよいですか?
  2. データベース名...などをそのリモートオブジェクトに割り当てるにはどうすればよいですか?

ConnectionPoolDataSourceサーバー名、データベース名などを設定する方法はありません。

4

1 に答える 1

0

JNDIネーミングを使用してバインドしようとしているようです......

私はあなたに何かを提案します... c3p0プーリングを試してください....あなたにとっては簡単です..... JNDI命名の使用を避けることができます.....

次のリンクからチュートリアルを読むと、jar ファイルをダウンロードできます.....

http://www.mchange.com/projects/c3p0/

于 2012-06-16T14:45:43.827 に答える