Seasar

S2BeansUtilsでEnum型のconverterをつくる。

S2BeansUtilsでEnum型のconverterを作ってみたんだけど、どうもしっくりこない。 public class EnumOrdinalConverter implements Converter { private final Class enumClass; public EnumOrdinalConverter(Class enumClass) { this.enumClass = enumClass; …

Actionの@ExecuteなメソッドのみにTxAttributeを設定する。

どうもデフォルトではできないようなので、TxAttributeCustomizerを継承してカスタマイズしてあげればできるけど・・・クラス名もイマイチだし、ここまでやる必要があるかどうかも。 validatorでコミットしました言われるのは確かに気持ち悪いけれども・・・…

ActionCustomizerの順番

以外と大事。addCustomiserというだけあってaddです。 つまり動作順が依存してます。上から順にデス。例えばtxAttributeCustomizerを先頭に記述すると、以後のcustomizerを包括してトランザクション制御ができます。 txAttributeCustomizer "aop.traceInterc…

TxAttributeCustomizer

TxAttributeCustomizerでトランザクションの指定をすると、publicな全てのメソッドに適用されます。 コンポーネントが持つすべてのpublicメソッドがトランザクション制御の対象になります。 SAStrutsではActionにvalidationを記述するんですがprotectedにし…

TxAttributeCustomizerでの特定例外をコミット処理にする。

TxAttributeCustomizerを設定した場合、例外はずべてコミット処理されるみたいです。 j2ee.requiredTx等のコンポーネントを使って設定した場合はコミットする・しないを明示的に設定できたけど、どうもTxAttributeCustomizerにはaddCommitRule()やaddRollbac…

actionCustomizerでTxAttributeCustomizerを設定すると

SAStrutsはバリデーションのメソッドをActionに書くん様になっているんだけど、actionCustomizerでTxAttributeCustomizerを設定するとバリデーションのメソッドにまでTxAttributeが当たってるみたい。 ログに出てる。 @Executeがあるメッソッドだけでいいん…

Seasar2のHotDeployを初めて真剣に味わった。

SeasarはHotDeployが凄い。とは聞いていたんですが、僕は勝手に「それってtomcatのauto reloadじゃないの。Seasarが頑張ってるんじゃなくて、Tomcatがやってるんでしょ。」みたいな食わず嫌いと言うか誤解をしていた。たまたまひがさんのブログでrailsについ…