0

Tomcat とスタンドアロンで実行できるアプリケーションがあります。現在、JNDI を使用して DB エンドポイントを構成しています。ただし、JNDI は、アプリケーションがアプリケーション サーバー (私の場合は Tomcat) の下で実行されている場合にのみ機能するため、アプリケーションがスタンドアロンで実行されている場合、JNDI 呼び出しは失敗し、アプリケーションは例外をスローします。

アプリサーバーなしでアプリケーションを実行できるように、JNDI データソースを「モック」する方法はありますか? もしそうなら、どうすればそれを行うことができますか?

乾杯。

4

1 に答える 1

0

スタンドアロンモードはテスト専用ですか? それとも有効な運用モードですか?

テストのみの場合は、最小限の InitialContextFactory を実装する独自のコンテキスト ファクトリを作成し、構成ファイルでそのクラスを指定するだけです。あなたのクラスは、適切なリソースでリクエストに応答します。

それが有効な操作モードでもある場合は、コンテキスト ファクトリにさらに作業を加えて、それをアプリ サーバーのプロキシとして使用できます。アプリサーバーが存在するかどうかを判断し、存在する場合はリクエストがアプリサーバーにリダイレクトされます。

「Mocking JNDI」をグーグルで検索すると、これを行う方法の良い例がいくつかあります。

于 2012-09-05T21:09:19.200 に答える