まず、私のセットアップは次のとおりです。
- アプリサーバー: jBoss 4.2.3GA
- 使用フレームワーク: Struts 2、EJB3
- DBMS: PostgreSQL 9.0.3
デフォルトでは、セキュリティ上の理由から、Bean を常に @Local に設定しています。必要がない場合、同じコンテナー内の他のアプリケーションへの扉を開きたくありません。
現在、私はテストを使用して開発を推進することに注力しています (テスト駆動開発)。そこで、アプリケーションと同じプロジェクトにテストをコーディングしたり、テスト機器 (EasyMock、jUnit、StrutsTest など) をインストールしたりすることを避けるために、テスト用に別のプロジェクト (一種のテスト プロジェクト) を作成しました。
つまり... つまり、Bean を @Remote に設定して、jUnit テスト クラスからアクセスできるようにします。
私の質問は次のとおりです。条件付きコンパイル/ビルドのようなものを使用して @Local から @Remote に切り替える方法はありますか? Bean を毎回 Local に戻さなければならないのは、かなり面倒で退屈です。すべての開発者は、リファクタリングが問題を引き起こすことを知っているので、Bean の可視性を管理する適切な方法を見つけようとしています。もう 1 つのアイデアは、プロパティまたは XML ファイルからのものであるため、必要に応じて 1 つのことをオンまたはオフにするだけで済みます。
テストするすべての Bean に対して、次のことを行う必要があります。 - インターフェースを @Remote に設定します。
何か案が?
どうもありがとうございました
チャールズ