Seasar Conference 2009 White

CubbyとMavenを使った開発のまとめスレ 最新のDI & AOP JBoss Application Server入門 - Seasar2を動かして見よう! - Hudsonを用いたOSS開発 ライトニングトークス と聞いてきました。 その後懇親会にも出席。妻が子供を連れて実家に帰っているので、今日は…

IBM WebSphere MQ with Sun Generic Resource Adapter for JMS on GlassFish

Sun Generic Resource Adapter for JMSと IBM WebSphere MQ の組み合わせをGlassFish上で動かしてみます。 Sun Generic Resource Adapter for JMSのデプロイ 管理コンソールのアプリケーション > コネクタモジュールから配備します。ファイルを選択して「了…

OracleRownumPagingSqlRewriterとBooleanToIntStatementFactoryの併用

共にOracleの場合に使うものなので、問題なく併用できそうな気がするのですが、実際に使ってみると問題が発生しました。 調べてみると、まず最初に元のSQLを書き換えて件数を取得しているのですが、そこでは設定に関わらずBasicStatementFactoryを使っている…

S2 2.4.18以降でS2JMS

S2JMSのアウトバウンド通信で受信を繰り返していたら、なぜか10回受信したところで止まってしまう現象に遭遇。この10回という数字はなんだろう?と思っていろいろやってみたところ、コネクションプールのデフォルト値らしいことが判明。さらによ〜く調べてみ…

S2JMS on GlassFish その2

前回はうっかりS2JTAのままで動かしてしまったので、今回はアプリケーションサーバ側のJTAを使って動かしたいと思います。 s2container.dicon Sun Java System Application Server用の設定ファイルが用意されているようなので、それを使うように変更します。 …

on GlassFish

Sun Java System Application Server9.1でS2JMSを動かしてみました。 接続プールの作成 管理コンソールから簡単に作れました。 リソース-->JMSリソース-->接続ファクトリ JNDI名「jms/hoge1」で登録。 Queueは リソース-->JMSリソース-->送信先リソース で登…

ジェネリックスのワイルドカードとキャスト

S2JUnit4の拡張アサートの「データセットとマップのリストが等しいことをアサート」するメソッド public static void assertMapEquals(String message, DataSet expected, List<Map<?, ?>> list) { adapter.assertMapListEquals(message, expected, list); } を使いた</map<?,>…

サブアプリケーションスコープについて その3

public void initialize() { aaa = "AAA"; bbb = "BBB"; ccc = "CCC"; } 前述のfuga.javaに上記を追加した場合以下のような結果に。 初期状態 aaa aaa bbb bbb ccc null ddd ddd 初期状態⇒self aaa aaa bbb bbb ccc null ddd null 初期状態⇒next aaa AAA bbb…

サブアプリケーションスコープについて その2

以下のようなhogeとfugaの2つのページが同一サブアプリケーションにあったとします(アクセッサは省略)。 hoge public class HogePage { private String aaa; @SubapplicationScope private String bbb; private String ccc; private String ddd; public C…

Localeについて

UIViewRootのgetLocale()メソッドがRestore Viewフェーズではブラウザの設定、Render ResponseフェーズではOSの設定を戻すようなのですが、これってこういうものなのでしょうか?Restore ViewフェーズではTeedaStateManagerImplのserializedViewsにブラウザ…

リスナ・メソッドからMessageSenderを利用する

Queue1のメッセージを編集してQueue2に書き込むアプリケーションがあったとします。 名前 設定 処理 sender1 jms-outbound-1.dicon メッセージをQueue1に送信する sender2 jms-outbound-2.dicon メッセージをQueue2に送信する listener jms-inbound.dicon Qu…

サブアプリケーションスコープについて その1

以下のようなhogeページからfugaページへ遷移するアプリケーション(同一サブアプリケーション)があったとします(ラジオボタンのラベル引継ぎ機能を使ってみたかったので1.0.10で試しました)。 HogePage.java(アクセッサは省略) public class HogePage { …

SMART deploy構成における実装の切り替え

DIコンテナの存在を知ったとき、最初に期待したのは設定ファイル地獄から脱却できるのでは?ということでした。 今までだとあるロジックに2通りのバリエーションを持たせたいといった場合には設定ファイルにフラグを設けて、ロジックの中でそのフラグを見て…

S2JUnit4を使ってみる

惹かれた機能は 自動トランザクション エクセルからのデータ読込 の2つ。なのでS2Unitでもよさそうなのですが、なんとなくS2JUnit4で。で、使ってみた感想ですが、テスト開始時にテーブルの中身をテスト用データに入れ替えてテスト終了時に元に戻してくれる…

S2JMSを使ってみる〜インバウンド通信編〜

今日も引き続きSun Generic Resource Adapter for JMSと IBM WebSphere MQの組合わせで。 受信データをある項目でスライシングして並行処理をし、かつスライスされた各ブロックでは順番を保障するというアプリケーションを実現してみます。 リソースアダプタ…

S2JMSを使ってみる〜アウトバウンド通信編〜

1.0.0-M2リリースとともにドキュメントが充実してきたので使ってみました(今までは使い方が分からずに断念してました)。Sun Generic Resource Adapter for JMSと IBM WebSphere MQの組合わせです。 リソースアダプタの設定 WmqResourceAdapterDeployerとい…

HotDeployが効かない!?

HOT deployを開始します クラス(hogehoge.web.hoge.FugaPage[hoge_fugaPage])のコンポーネント定義を登録します HOT deployを終了しました ってログが出ているのに実際には変更が反映されないという現象に遭遇。原因を突き止めるのにえらく苦労しましたが、…

ここ最近は開発環境構築の準備をしていました。実は以前にsubversionとapacheの連携の時点で躓いていて、そんなときにtrac月という非常に便利なものを発見してしまい、trac月があるという理由だけでサーバーをWindowsにしちゃいました。そもそもtracを使おう…

forEachのId

forEachのIdはデフォルトでは各行が同じIdになってしまいます。ユニークなIdにするためにはteedaCustomize.diconの <component class="org.seasar.teeda.core.render.DefaultComponentIdLookupStrategy" />を <component class="org.seasar.teeda.core.render.JsfSpecComponentIdLookupStrategy" />にすればOK。・・・なのですが、layout機能を使うとidが全く出なくなります。</component></component>

ラベルの引き継ぎ

現場で役立つ実践Teedaに プルダウンやラジオボタンなどで、値(value)だけでなく、ラベル(label)を引き継ぐことができる と書いてあったので、これは使えると思って早速試してみました。 が、ラジオボタンではラベルを引き継ぐことができませんでした。…

forEachとradioボタン

メーリングリストで話題になってましたが、質問者の方は aaaAAA bbbBBB cccCCC こういう感じで選択された行を取得したいのかと思ってましたが 追加されたサンプルが aaabbbccc aaabbbccc aaabbbccc こんな感じだったので、上のパターンを実現する方法を考え…

HOT Deployと継承

スーパークラスのみ変更してサブクラスには変更がないときに、Hot Deployで変更が反映される場合とそうでない場合があるのでメモ。 まずスタートの状態は以下の通り。 aaa.html

Vaidationと継承

Validationを継承した場合の動きが少し変だったので調査してみました。 スーパークラスのフィールドにアノテーション→× @Required private String hoge; これはサブクラスから見えないから?と思ってpublicにしてみたりしたけど必須チェックかからず。 スー…

SMART deploy構成でのトランザクション制御

Doltengでプロジェクト(Teeda+S2Dao)を作成し、JDBCの設定をした後にDatabaseViewで適当なテーブルを右クリック→Generate Scaffold Applicationで簡単なアプリケーションを作ります。 ここでわざとPK制約に違反するようなデータをCreateしてみます。当然エ…

EL 暗黙オブジェクト

private Map param; public Map getParam() { return param; } public void setParam(Map param) { this.param = param; } とやるとparamにrequestParameterがDIされてくる訳ですが(昨日のコメント参照)、このparamという変数名はどこで決められているので…

DynamicValidator

以前DynamicValidatorで動的に必須チェックがかけられると書きましたが、少々訂正が必要なようです。 hoge.html

formタグのidについて

テンプレートに <form id="aaaForm">と書くとレンダリング後は <form id="aaaForm" name="aaaForm" method="post" enctype="application/x-www-form-urlencoded" action="/hoge/view/hoge/aaa.html">のようになります。 テンプレートが <form id="hoge">だとレンダリング後は <form enctype="application/x-www-form-urlencoded" method="get" id="hoge">のようになります。どうやらfor…</form></form></form></form>

inputCommaTextで小数点以下を有効に

inputCommaTextはデフォルトだと小数点以下は無効になってますが、$なんかを入力する場合は少数点以下も必要です。 という訳で今日はinputCommaTextで小数点以下を有効にしてみたいと思います。

出力/入力用プロパティ

準備として前回同様にfugaプロパティを持つhogeページを作ります。

TigerアノテーションによるValidationがきかない!?

(teeda-html-exampleを利用。) hogeパッケージを作成しそこに以下のようなhtmlを作成する。Doltengでpageクラスも作成。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <form id="hogeForm"> <div> <span id="allMessages"/> </div> <input type="text" id="fuga"/> <br/> </br/></form></body></html>