説明するのが難しい問題があるので、始めましょう:
コンテキスト: Tomcat サーバーでアプリケーションを実行しています。これを「管理者」と呼びましょう。管理者には、インポート/エクスポート機能があります。私たち自身のアプリケーションはそれを拡張したものであり、「管理アプリ」がインポート/エクスポート機能を使用するときにいくつかの情報を収集する必要があります。
問題: クラス ImportController を含むサード パーティの jar は次の場所にあります~/someFolder/admin/WEB-INF/lib/admin.jar
。目標は、拡張機能がクラスを適切なプロジェクトにリンクできるように、古いプロジェクト ID と新しいプロジェクト ID を収集することです。私はメソッドの署名を知っているので、AOPを使用してそうすることができます。
アイデア: 私が思いついたアイデアidHiJacker.jar
は、単一のポイントカットとアドバイスを含むようなものを に配置し~/someFolder/admin/WEB-INF/lib/
、ロード時の織り込みを可能にすることです。そのアドバイスは単に情報を xml ファイルに入れるだけなので、プロジェクトのインポート後にリンクを元に戻したいときに拡張機能がそれを読み取ることができます。
また、私は AOP と Web に関する純粋な初心者だと言わざるを得ません。しかし、AOP でこの小さな操作を行うためだけにモンスターをインポートしたくありません。現在、aspectJ と AspectWerkz を読んでいます。
質問:
- 1) 私は正しい方向に進んでいますか? このアイデアがまったく機能しない原因が何かわかりますか?
- 2)これが可能であれば、非常にきれいな方法でそれを行うための良い習慣は何ですか?
- 3)AspectJでやるべきですか?アスペクトワークス? または、他の何か?
- 4)私はこれを無料でやっていますか?その操作を行う簡単な方法はありますか?
編集:また、回答にリンクするための優れたチュートリアルがあれば、それは素晴らしいでしょう
お時間とご回答ありがとうございます