S2JMS

JMSProperyバインディングの説明を追加

今日のS2JMSドキュメントは、JMSPropertyバインディングの説明を追加。ちょっとずつ、ちょっとずつ。何事も継続が大事。

ドキュメントを書き始める

腰だけでも上げなければ、ということでS2JMS-Containerのドキュメントを一部書いてアップしました。書き出してみると、結構な分量になりそうだなぁ・・・

S2JMS開発記 - デモのシナリオを考える

JMSContainerが固まってきたので、5/14のカンファレンス向けデモの内容を考えます。 (これって、当日いきなり発表しないと面白みが半減?・・・ま、いいか。)せっかくS2Buriの勉強会で前振りしていただいたので、S2BuriのサンプルをベースにS2JMSの機能をデ…

S2JMS開発記 - 残作業の整理

さて、S2JMSContainer として、最初に予定していた機能はひととおりできたはず。 残りの作業を忘れないように書き出しておきます。 テストの強化 特にJMSContainer周りは、どうしてもActiveMQとセットでテストしなければならないので、テストがまだ手薄。も…

S2JMS開発記 - メッセージをrequest属性で登録

JMSContainerですが、以下のところまで実現できたのでコミットしました。 受信したメッセージをrequest属性でコンテナに登録 MessageListenerをメッセージ受信のたびにコンテナから取得(このタイミングでメッセージを含むrequest属性のコンポーネントがイン…

S2JMS開発記 - できたと思ったら・・・

ダメでした。受信したMessageをJMSRequestに登録しただけで満足してしまっていました。 MessageListener(POJO)にバインドしてあげなきゃ意味がなかったのでした。さてどうしたものか。JMSContainerとしては、JMSRequestに持っているオブジェクト(メッセージ…

S2JMS開発記 - requestスコープ対応単体テスト完了

JMSRequestComponentDeployerのテストクラスを作成してコミット。これで単体レベルのテストはすべて完了。JMSContainerImpl のテストクラスに突っ込んで試してみたところ・・・S2JMSTestCase でセットしたはずの JMSExternalContext が取れない・・・。なる…

S2JMS開発記 - S2JMSTestCase を作成

id:shot6 さんのアドバイスを元に、S2JMSTestCase を作成(ひとまず最低限の機能だけですが)。ついでに昨日の時点で作り忘れていたクラス(JMSRequestComponentDef,JMSExternalComponentDefRegister(ながっ!))を追加してコミットしました。あとは、JMSRequest…

S2JMS開発記 - 非サーブレット環境でのテスト

S2JMSのrequestスコープ対応はひととおりの実装が完了(本当に実装だけね)。ちょっと困っているのは、テストをどうしようかということ。 今回はS2Containerの初期化段階でサーブレットとは違う動きをするので、S2TestCase がそのまま使えない。やっぱり、S2Te…

S2JMS開発記 - 続々・requestスコープの検討

こばやしさんのアドバイスを元に、S2JMSで実際に実現する方法を考えていきます。 deployer周りの拡張 requestスコープを実現するために、以下の4つのクラスを作ります。 org.seasar.jms.container.deployer.JMSComponentDeployerProvider 標準の ComponentDe…

S2JMS開発記 - 続・requestスコープの検討

先日からの検討のつづき。自分の理解の整理も含めて書いています。受信したメッセージをリクエストスコープで登録できるようにするには、HttpServletRequestに突っ込まなくてはなりません。しかし、JMSの場合は必ずしもAPサーバ上で動作するとはかぎらない。…

S2JMS開発記 - requestスコープの検討

最後に残していた、S2JMSContainer の request スコープに対する検討に入ります。S2JMSContainer には、アプリケーションサーバ以外(S2JMS-Server)上で動作するので、いわゆるリクエストやセッションといった概念はありません。しかし、JMSからのメッセージ…

S2JMS開発記 - なぜ、あなたは、Genericsが理解できないのか

昨日は、金曜の宴会・・・もといS2JMSミーティングでこばやしさんに指摘された、MessageBinder関連の実装見直しを行った。数時間の格闘の末、だいぶまともになったはず。恥ずかしながら、Java5のGenericsをまともに使うのは初めてだったので、中途半端な使い…

S2JMSミーティング開催

思いのほか盛り上がり、気がつけば終電はとっくに終わっていました。始発で帰ったのはほんとうに久々です。ひとまず、5月のイベントに向けて、 こばやしさん ・・・リファレンス整備 ぼうずさん ・・・S2JMS-Server、チュートリアル作成 むらたさん&こもり…

S2JMS開発記 - ここまでの整理

実装系 メッセージハンドラが複数ある場合の対応 受信したメッセージのコンテナへの登録(http://d.hatena.ne.jp/koichik/20060103#1136296856) Requestスコープへの対応 MessageBinder に S2JMS-CoreのMessageHandlerを利用できるか検討 テスト系 MessageBin…

S2JMS開発記 - だいぶまとまってきた

こばやしさんに感謝です。明日には、今後の残作業を整理したい。

S2JMS開発記 - EasyMockに「へぇ〜」

この2日間ほどお休みしてしまったので、むらたさんが作ってくれたテストクラスを眺めてみる。こばやしさんから教えてもらったEasyMock、いい感じですね。JMSのMessageはインターフェースのみを規定していて実装はベンダーに任せています。そのため、テストを…

S2JMS開発記 - 水面下で進行中

今日は久々にコートがいらないほど暖かかったですね。夕方からいつもお付き合いしているお客様と懇親会。S2関係の動きも期待していただいているので、がんばらなきゃ。ということで、S2JMSもこばやしさんのレビュー結果を元に水面下でブラッシュアップ中。こ…

S2JMS開発記 - ファーストバージョンコミットしました

すみません、お待たせしております。S2JMS-Containerの基本動作が確認できたので、とりあえずコミットしました。(S2JCAの使い方間違っていて動作確認にかなり手間取ってしまいました・・・)細かい動作確認はまだまだですが、まずは動作イメージが誤ってない…

S2JMS開発記 - 経過報告

昨日の飲み会で、むらたさんが、はぶさん・こばやしさんから「はやくコミットして〜」とお叱り(?)を受けたそうで(^^;。申し訳ないです。急いでS2JMS作ってます。今のところ、こんな感じのところまではコード書けてます。 JmsContainerImpl の onMessageが呼…

S2JMS開発記 - S2におけるエラーコードのポリシー

ちょこちょこと合間を見つけて S2JMSContainer のメッセージバインド部分を実装中。ある程度できたら、個々のメッセージ向け実装はむらたさんにバトンタッチ予定。ところで、SeasarFrameworkとして例外のエラーコードのポリシーをちゃんと理解してないことに…

S2JMS開発記 - そろそろ作らなきゃ

体調不良で少しお休みしてしまいましたが、S2JMSも進めなきゃ。マッピングについては、「ペイロード、プロパティ、ヘッダの順で見つけた端からマッピング」でこばやしさんからも同意が得られたので、これで作りを進める予定。(JMS取っ払ったプロパティ名で…

S2JMS開発記 - ヘッダとプロパティのマッピングを考える

メッセージのペイロードに関するマッピングが一通り検討し終わったので、ヘッダとプロパティのマッピングについても検討していきます。 プロパティのマッピング プロパティの方が簡単そうなので、まずはこちらから。JMSのメッセージには、「追加ヘッダ」とい…

S2JMS開発記 S2JMS-Container の仕様を考える - 続・メッセージのマッピング

トランザクション境界の件 http://d.hatena.ne.jp/koichik/20060109#1136826053本件、了解です。例外投げ続けると、コネクションが切られてしまうのは困りものですね。振る舞いとしては、たしかにリソースアダプタ側に例外を投げるしかないような気もするの…

S2JMS開発記 S2JMS-Container の仕様を考える - メッセージのマッピング

さて、ここからが大変なところ。JMSのメッセージをどのようにメッセージハンドラにマッピングするかです。これができると、S2JSFでアクションクラスに対してHTMLのフォームに入力した値が自動的にマッピングされるのと同じようなことができます。「HTMLフォ…

S2JMS開発記 S2JMS-Container の仕様を考える - ハンドラの呼び出し

さて、id:koichikさんのファーストアイデアをおさらいしつつ、S2JMS-Containerの仕様を考えていきましょう。 <component class="org.seasar.jms.container.JmsContainerImpl"> <property name="messageHandler">hogeAction</property> </component>みたいな感じで、S2JMS-Container に対して実際にメッセージを処理するクラス(仮にメッセージ・ハンドラと呼びましょう)を登録してお…

S2JMS開発記 MessageEndpoint を読む

id:koichikさんがMessageEndpointまで動作したバージョンをコミットしてくれたので、さっそく動かしてみました。 S2JCA-ActiveMQ の activemq/bin/activemq.bat を実行しておいて, org.seasar.jca.mi.jms.ActiveMQTest で動作確認ができます.まったく簡単…

S2JMS開発記

まずは、こばやしさんへのコメント(http://d.hatena.ne.jp/koichik/20060105#1136482225)から。謎はちょっとわからないので、新年会の時にでも聞きます。(^^; ワークフローエンジン周りとの組み合わせですかね。 これは昨日書いた例でもできているような. S…