2008-01-01から1年間の記事一覧

Apache Camel で Esper を使ったイベント処理2 - Time・Length batch window

前回(id:fits:20081203)作成した Apache Camel + Esper コンポーネントの環境を使って、ちょっとだけ高度なイベント処理を試してみる。とりあえず、Esper のビルトイン Data Window Views の中から以下のようなものを使う。 Length batch window "win:leng…

Apache Camel で Esper を使ったイベント処理 - Esper コンポーネント使用

Apache Camel の Camel Extra プロジェクトには Camel 上で Esper のイベント処理を行うための Esper コンポーネント(camel-esper ライブラリ)が用意されているので、これを使って Camel 上で簡単な Esper を使ったイベントのフィルタリング処理を試してみ…

Esper で簡単なイベントを処理する

オープンソースの CEP(Complex Event Processing = 複合イベント処理) ツールである Esper の Java 実装を使って簡単なイベント処理を試してみる。使用した環境は以下の通り。 Esper 2.3.0 事前準備として、Web サイトから Esper for Java 2.3.0 のアーカイ…

Apache Felix に自作のサービス(OSGi service)を登録する

今回は、Apache Felix に自作のサービス(OSGi service)を登録・実行してみる。 サービス登録用の Bundle 作成 サービス実行用の Bundle 作成 Bundle の作成手順やインストール方法は前回 id:fits:20081118 の通り。 サービス登録用の Bundle 作成 サービスを…

ダブルクリックで DataGrid を編集状態にする

Flex 3.0 の DataGrid では、editable プロパティに true を設定するとシングルクリックで指定のセルを編集状態にする事ができる。しかし、シングルクリックの代わりにダブルクリックで編集状態にする仕組みが用意されておらず、マウスアップのイベント処理…

Apache Felix に自作のバンドル(OSGi Bundle)を登録する

ServiceMix Kernel に採用されているオープンソース OSGi フレームワークの Apache Felix に関して、自作のバンドル(OSGi Bundle)を作成・登録してみる。手順は以下の通り。 Bundle クラス作成 JAR ファイル作成 インストール 作業準備として、Felix のアー…

ServiceMix Kernel 上で Camel を使用

前回(id:fits:20080929)は ServiceMix 3.2.2 上で Camel を実行してみたが、今回は ServiceMix 4.0 のカーネルを担う ServiceMix Kernel 1.0.0 を使って Camel を実行してみる。(ServiceMix Kernel は OSGi ベースの軽量コンテナ) Camel 実行に必要なパ…

Groovy 1.6 のアノテーション @Mixin と @Delegate

Groovy 1.6 の新機能である @Mixin と @Delegate アノテーションを Groovy 1.6 beta2 で試してみた。@Mixin と @Delegate が実現する機能は以下の通り。 @Mixin は実装を取り込む(自分に機能を取り込む) @Delegate は委譲処理を実現(自分に機能を取り込ま…

easyb で dbunit - easyb dbunit プラグイン使用

easyb の dbunit(DBのユニットテストツール)用のプラグインを使ってみる事にする。 ちなみに、dbunit プラグインを使うと database_model メソッド(クロージャで DB に格納する初期レコードを指定できる)が使えるようになる。使用した環境は以下の通り。…

ServiceMix 上で Camel を使用

オープンソース ESB の Apache ServiceMix では、Apache Camel を使用するための servicemix-camel コンポーネントが用意されている。 そこで今回は、ServiceMix 3.2.2 上で Camel のルーティングルールを実行してみる事にする。 servicemix.xml の作成 Serv…

(Java版) Apache Camel を使った HTTP 処理とファイル入出力 - Jettry, File コンポーネント、Gant の利用

id:fits:20080919 で作成したサンプルの Java版は以下の通り。動作は Groovy 版と基本的に同じ。Groovy 版との違いで注目すべき点は getOut().setBody() で String.class の指定が不要なところ。 SampleRoute.java package sample; import java.io.FileInput…

Apache Camel を使った HTTP 処理とファイル入出力 - Jettry, File コンポーネント使用

Apache Camel の Jetty コンポーネントで HTTP リクエストを処理できるようなので、簡単なサンプルを作ってみる事にした。(ついでに File コンポーネントも使う)なお、Jetty コンポーネントを使うには Apache Camel に同梱されている jar ファイル以外に以…

Apache Camel の使用

Apache Camel は Apache ActiveMQ プロジェクトの一部、Spring を基盤とした統合フレームワークで EIP (Enterprise Integration Patterns) を実現するためのクラスライブラリが用意されている。 なお、EIP ではエンタープライズアプリケーションを連携させる…

Apache ODE 用に作成した BPEL を SCA 化して実行 - Apache Tuscany 利用

Apache ODE 1.2 用に作成した BPEL ファイルを SCA 化して Apache Tuscany 1.3 上での実行を試みる。 ただし、Apache Tuscany 1.3 がサポートしている(同梱している)のは ODE 1.1 のため、BPEL や WSDL ファイルの名前空間を変更する必要あり。なお、今回…

invoke を使って別 BPEL の同期実行を実施する BPEL プロセスの実行 - Apache ODE を使って

以下の BPMN で表されるようなビジネスプロセスを BPEL で実現してみた。(今回は「レンタカーを予約」のみを別の BPEL として定義した) 「予約」処理の概要 「ホテルを予約する」と「レンタカーを予約する」を並列実行 「レンタカーを予約する」は「レンタ…

Apache ODE で簡単な BPEL を実行

以下のサイトを参考にして、Apache ODE 1.2 上で簡単な BPEL(WS-BPEL)を実行してみた。 Eclipse BPEL プラグインを使って WS-BPEL V2.0 ビジネス・プロセスを開発し、実行する 開発・実行環境は以下の通り。 Eclipse 3.3, BPEL Visual Designer 0.3.0 Apac…

Windows上の JRuby で Redmine を実行した時の Subversion 連携に注意

Redmine を Windows 上の JRuby で実行した際に Subversion との連携が正しく動作しない点について簡単に調査してみた。環境は以下の通り。 JRuby 1.1.2 Redmine 0.7.2 Subversion win32 1.4.5 原因 原因は、svn コマンドの実行に失敗していることで、失敗の…

SVNKit の使い方 - ログ取得

Subversion 用の Pure Java ライブラリ SVNKit を使って、ログを取得してみる。(svn log のような動作を実装)実行環境は以下の通り。 Groovy 1.5.6 SVNKit 1.1.8 事前準備として、groovy コマンドの実行時に SVNKit の svnkit.jar がロードされるように Gr…

JUDE API を使ったクラスの出力 - Groovy と Scala

以前 id:fits:20070515 は JRuby から JUDE API を使ったが、今回は Groovy と Scala で .jude ファイル内の全クラス(IClass インターフェース実装オブジェクト)を出力するような簡単なスクリプトを書いてみた。実行に使った環境は以下の通り。 Groovy 1.5…

Grails プラグインの作り方2 - プラグインのイベント処理

前回 id:fits:20080703 作成したプラグインプロジェクトを使って、以下のようなイベント処理を行う機能を追加する。 ドメインクラスが追加された場合に、スペックファイルの雛形を自動生成 イベント処理スクリプトの追加 イベント発生時の処理は、プラグイン…

Grails プラグインの作り方 - シンプルな easyb 実行プラグインを作成

以下のような環境を使って、easyb を実行するだけの簡単な Grails プラグインを作ってみる。 JavaSE 6 (1.6.0_06) groovy 1.5.6 grails 1.0.3 easyb 0.8 Grails でのプラグイン作成手順は以下の通り。 プラグイン作成プロジェクトの生成 プラグインの情報を…

Redmine を Tomcat 上で実行する(JRuby on Rails)

Redmine 0.7.2 を JRuby on Rails 環境を使って Tomcat 上で動作させてみる。(Radmine を WAR ファイル化して Tomcat にデプロイして実行)使用した環境は以下のとおり。 JavaSE 6.0 (1.6.0_06) JRuby 1.1.2 Rails 2.1.0 Redmine 0.7.2 MySQL 5.0.51b Tomca…

jBPM PVM の使用

jBPM PVM(プロセス仮想マシン)を Groovy から使ってみる。 jBPM PVM は、グラフ構造を構築して実行するためのシンプルな Java ライブラリで、ワークフローや BPM を実現するための共通基盤となる。使うための準備は以下のとおり。 jBPM PVM のサイトから z…

Groovy で Jersey を動かしてみる

Jersey を以下の条件で動かしてみる。(Groovy 1.5.6, Jersey 0.8 使用) リソースクラスを Groovy スクリプトで記述 HttpServer の実行も Groovy スクリプトで Groovy スクリプトの作成 Groovy スクリプトを作成する。アノテーションの記述に関して以下のよ…

Jersey を試してみる

JAX-RS(JSR-311)の参照実装である Jersey(0.8-ea)を試してみた。手順は以下の通り。 リソースクラスの作成 HttpServerを使った実行クラス作成 ビルドと実行 なお、インストールは Jersey のサイトから jersey-0.8-ea.zip ファイルをダウンロードし、適当…

継続的インテグレーションツール Hudson のプラグインを作成

CI(継続的インテグレーション)ツールの一つである Hudson は以下のような点で個人的に気に入っている。 インストール(実行環境の構築や設定など)が容易 プラグインによる機能追加が容易 ビルド結果等のファイル構成が非常にシンプル REST 的なリモートア…

Flex の DataGrid

Flex 3 SDK の DataGrid コンポーネントを使って、以前 Ext JS で作成したようなデータグリッドのサンプルを作ってみた。機能としては以下のようなものを実装した。 カスタムソートの設定 フィルタリング処理の設定 スタイルの変更(選択行の背景色変更など…

IronPython で Silverlight 2.0 - ボタン表示

前回 id:fits:20080310 のサンプルに手を加えて、ボタンを表示する簡単なサンプルを作ってみた。使用したのは前回と同様に Silverlight SDK 2.0 Beta1。前回との違いは以下のような点。 app ディレクトリに AppManifest.xaml ファイルを用意(前回は chiron.…

IronPython で Silverlight 2.0

Silverlight SDK 2.0 Beta1 を使って IronPython を使った簡単なサンプルを作ってみた。手順は以下の通り。 app ディレクトリ作成 app.xaml 作成 app.py 作成 chiron.exe による app.xap 生成 index.html 作成 なお、Silverlight SDK 2.0 Beta1 では IronPyt…

Groovy と Scala でのカリー化

今まで知らなかったのだが、Groovy に関数型言語で有名なカリー化(currying)のための仕組みが用意されていたので試してみた。 Groovy でのカリー化 やり方は非常に簡単で、クロージャに定義される curry() メソッドにカリー化する引数を渡してやれば、指定…