私は古いレガシーSpringアプリケーションを「継承」しました。現在、Spring 2.5を使用しており(一度アップグレードしただけです)、Spring3にさらにアップグレードすることを検討しています。
私はほとんどのアプリケーション構成を理解しています。私が「100%ではない」という部分は1つだけです。私はそれが何を意味するかを大まかに推測することができますが、私は絶対に確信する必要があるので、この質問を投稿します:
構成スニペットは次のとおりです(ここに示されていないアノテーション駆動型トランザクションマネージャーによって異なります)。
<aop:config>
<aop:advisor pointcut="execution(* *..ProductManager.*(..))"
advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="save*" />
<tx:method name="*" read-only="false" />
</tx:attributes>
</tx:advice>
私の具体的な2つの質問は次のとおりです。
- 「execution(* .. ProductManager。(..))」とはどういう意味ですか(ポイントカットの用語を理解しています)
- アドバイスの属性セクションでは、すべてのsave *関連メソッドにトランザクションを適用すると言っていますが、すべての読み取り専用はfalseです。その設定が理にかなっている理由を誰かが説明できますか?トランザクションをサポートするすべてのメソッド(つまり、save *メソッドのみ)について、これらのメソッドを読み取り専用トランザクションにしないようにすることも、付加的で効果的に言えますか。または、包括的トランザクションフィルター(ポイントカットで定義)のすべてのメソッドに異なるもの(つまり、何らかの形式のトランザクションサポート)を適用していますか?
ご説明いただきありがとうございます。一般的な答えはありません。具体的な説明が必要です。