[Seasar-user:1057] Re: AopProxy とメソッド修飾子について

Sadanori ITO sito_dev
2004年 10月 4日 (月) 03:15:56 JST


伊藤です。
自己レスです。

On Sun, 03 Oct 2004 22:26:41 +0900
Sadanori ITO <sito_dev @ yahoo.co.jp> wrote:

> On Sun, 3 Oct 2004 17:06:21 +0900
> Yasuo Higa <higa @ isid.co.jp> wrote:
> 
> > せっかく警告する機能がついたのに、警告はないのに、
> > アスペクトが適用されないケースがあるとかえって混乱するような
> > 気がしたので、同一のメソッド名の中に1つでも、static or finalな
> > ものがあれば、警告してアスペクトを適用しないようにしました。
> 
> 了解しました。確かにその通りかも知れません。

文字では了解しましたと書きつつ,全然理解できていませんでした...
この修正の結果として,当然ですが下記の手法が使えなくなるということ
ですね。迂闊にも実際に試すまで,何の疑問も感じませんでした。

> 例えば私の場合,現状では今回の特性(final で無視される)を利用して
> オーバーロードしてしまっている複数のメソッドの中で,本当にアスペクト
> を適用させたいメソッドのみ final をはずすことで逆に都合良く使えて
> しまっていたりします。
> 
> でも,恐らく本質的には対象のメソッドのみ適切な一意のメソッド名に
> 変更しておいた方が無難かも知れません。
> 
> そういう意味では,メソッドのオーバーロードとアスペクトの組み合わせには
> 注意しようと思いました。

なので,「無難」とか「注意する」とかではなく,このような利用の仕方
ではメソッド名を変更する必要が生じるわけですね。
とりあえず,私のプロジェクトではメソッド名を変更することに不都合は
ありませんが,他のユーザの方々にとっては問題ないのでしょうか?

もちろん,修正の方向性自体は間違えていないと思いますし,これから利用
し始める開発者の方々にとっては,有用な警告だと思いますが,既存の
設定で pointcut をデフォルトの .* にしていたりすると,場合によっては
結構沢山の警告が出て驚かれるかも知れません。

以上です。
影響度合いが少し心配だったので,念のためご報告まで。
何れにせよ,ご対応ありがとうございました。

-- 
s.ito

__________________________________
for your loved one
http://pr.mail.yahoo.co.jp/pinkribbon/



Seasar-user メーリングリストの案内