2008-08-01から1ヶ月間の記事一覧
S2BeansUtilsでEnum型のconverterを作ってみたんだけど、どうもしっくりこない。 public class EnumOrdinalConverter implements Converter { private final Class enumClass; public EnumOrdinalConverter(Class enumClass) { this.enumClass = enumClass; …
iterateで取得するときの続き。寝かせてみました。id:higayasuoさんから BasicSelectHandlerと自前のResultSetHandlerの組み合わせ。 といただきましたが、Commons.DBUtilsとほとんど同じ機能なのでS2JDBCの外だしSQLが使えません。外だしSQLでビルドアップ…
Javaで大量のデータをListなんかで取得しちゃうと件数分のオブジェクトを作成してしまうので困るんですが、J2JDBCだと1件毎に取得できるのでJVMに負担をかけずに処理できます。カラム名の取得を行いたい場合、BeanMapを使ってカラム名を動的に取得できるんで…
SAStrutsでセッションにオブジェクトを持ちたい場合は、Serializableをimplementsして @Component(instance = InstanceType.SESSION) アノテーションを付けておけばいいんだけど、どうも書き込むタイミングが一連のトランザクションの最後になってそう。inte…
こんな感じのことを。 set pages 50000; set long 2000000000;
HttpSessionListenerでセッション・イベントで処理をしてるんだけど、セッションの永続化をしてるとどうもオンメモリな情報と永続化された情報それぞれでsessionDestroyed()のイベントが起きてるみたい。困った。どうしようかなぁ?
どうもデフォルトではできないようなので、TxAttributeCustomizerを継承してカスタマイズしてあげればできるけど・・・クラス名もイマイチだし、ここまでやる必要があるかどうかも。 validatorでコミットしました言われるのは確かに気持ち悪いけれども・・・…
以外と大事。addCustomiserというだけあってaddです。 つまり動作順が依存してます。上から順にデス。例えばtxAttributeCustomizerを先頭に記述すると、以後のcustomizerを包括してトランザクション制御ができます。 txAttributeCustomizer "aop.traceInterc…
TxAttributeCustomizerでトランザクションの指定をすると、publicな全てのメソッドに適用されます。 コンポーネントが持つすべてのpublicメソッドがトランザクション制御の対象になります。 SAStrutsではActionにvalidationを記述するんですがprotectedにし…
TxAttributeCustomizerを設定した場合、例外はずべてコミット処理されるみたいです。 j2ee.requiredTx等のコンポーネントを使って設定した場合はコミットする・しないを明示的に設定できたけど、どうもTxAttributeCustomizerにはaddCommitRule()やaddRollbac…
SAStrutsはバリデーションのメソッドをActionに書くん様になっているんだけど、actionCustomizerでTxAttributeCustomizerを設定するとバリデーションのメソッドにまでTxAttributeが当たってるみたい。 ログに出てる。 @Executeがあるメッソッドだけでいいん…
例えばこんなの @Required @DateType public String[] hoge; 当然といえば当然だけど、検証した結果を パラメータが未送信であればnull キーのみ送信されれば値が空でも、@RequiredはTrueになる 各要素の中のデータタイプの検証はできない。@DateTypeって書…
SAStrutsやS2Strutsならアノテーションだけで検証ができるんだけど、日付検証の場合大抵システムで決まった書式があるだろうからデフォルトで設定しておきたい。ということで、S2Strutsはdiconファイルにそんなことを書けた気がするのでSAStrutsでもできるか…
SAStrutsを組み込みサーバで動かしてみるの続き取りあえずJettyで起動できて、すんなりリクエストも発行してレスポンスをテキストベースで検証するところまでは完成。ただ気にくわない点が何個か。 アプリケーションディレクトリとして指定できるのが1つなの…
組み込みサーバで動かしてHTTPレイヤーからテストできる様にしてみたかったんだけど、どうも上手くいかんね。ほっとデプロイとかも動いてくれないかと思ったりしてGlassfishV3とかJettyとか色々と試してみたけどあんまりうまくいできないね。 また明日も挑戦…
CVSでは日本語のファイル名が扱えない。Linux上のHudsonで日本語のファイル名をcvsでcheckoutすると、文字化けしてエラーになる。 当然の結果でWindowsで動かしたらうまくいく。S2Unit4のテストメソッドに日本語入れちゃったから、期待値のExcelに日本語名が…
OSのコマンドで消してあげて、再度画面からプロジェクトを削除すればOK