tagフォルダの内容を以下に示します.
ファイル | 内容 |
---|---|
agent/ | エージェントスクリプトを格納するフォルダ |
src/ | ソースコード |
tagserver.jar | TAGサーバの実行プログラム |
tag.ini | 設定ファイル(初回起動時に生成) |
_tagserver.mv.db _tagserver.trace.db |
メッセージ履歴を保存する データベースファイル(初回起動時に生成) |
エージェントを動作させるPCではTAGサーバを起動する必要があります.
java -jar tagserver.jar
で起動します.この場合,エージェントやWebUIからの接続のために8080番ポートが使用されます.java -jar tagserver.jar 8081
のようにポート番号を変更することもできます.起動後にhttp://localhost:8080/tag/
をWebブラウザで開くと,TAGサーバのWeb UIが開きます.localhost以外からの接続はできません.
Web UIの shutdown をクリックすると終了します.タスクトレイのTAGアイコンを右クリックしてExitを選択する方法もあります.
エージェントのプログラムはagent/フォルダ内に格納されています.
エージェントはTAGサーバからではなく,コマンドラインから起動することもできます.Groovyがインストールされていて,groovyコマンドを使える必要があります.
※この機能は動作確認が不十分です
エージェント名.groovy を次の方法で起動します.
1つのJVM上で1つのエージェントが動作します.
$ groovy エージェント名 例 $ groovy Simple → Simple.groovyが起動する $ groovy ODB_aomori → ODB_aomori.groovyが起動する $ Simple → Simple.groovyが起動する (拡張子「.groovy」がgroovy.batに関連付けられている場合)
デフォルトエンコーディング以外で記述されているエージェントを起動する場合は-cでエンコーディングを指定します.
$ groovy -c UTF8 Kanji → UTF8で記述されたKanji.groovyが起動する
1つのJVM上で複数のエージェントを動作させるためには,
エージェント名1.groovy,エージェント名2.groovy, ...,エージェント名n.groovy, および起動用スクリプトファイルを作成し,次の方法で起動します.
$ groovy 起動用スクリプトファイル
起動用スクリプトファイルには次を記述しておきます.指定された全てのエージェントが1つのJVM上で動作します.引数には,エージェント名(クラス名)を1つ以上指定します.
TAG.start(エージェント名1, エージェント名2, ...,エージェント名n) 例 TAG.start(Searcher, ODB_aomori, ODB_iwate, ODB_akita)
クラス名の代わりにインスタンスを指定することもできます.名前を少しずつ変えたエージェントを多数起動するに便利です.
TAG.start(Searcher, new Simple("s1"), new Simple("s2")) ただし,Simple.groovy内に次のコンストラクタを追加する必要がある: Simple(String name) { super(name) }
TAG.start(..)
のみを記述したスクリプトを用意する代わりに,複数ある「エージェント名.groovy」ファイルの中の1つにTAG.start(..)
メソッドを書いておいてもOKです.例えば,
$ groovy Searcher0
ファイル名はSearcher.groovyではなくSearcher0.groovyなど異なるものにします.同じものにするとエラーが出ます.TAG.start()
を記述するのはファイル末尾でいいです.
Groovyファイルをシステムのデフォルトエンコーディングで保存していない場合,実行時にエラーが出ます. コマンドラインに次のように入力することでデフォルトエンコーディングを確認できます
groovy -e "println System.properties.get('file.encoding')" Windowsの場合,MS932と表示されます.GroovyファイルはSJISで保存してください. OS XやUbuntu Linuxの場合,UTF-8と表示されます.GroovyファイルはUTF-8で保存して下さい. その他のOSの場合,上記の実行結果に従い保存して下さい. システムの標準的?なテキストエディタで保存すると,そのシステムのデフォルトエンコーディングになると思います. GroovyConsoleもデフォルトエンコーディングで保存するようです.
デフォルトエンコーディング以外で保存されたGroovyファイルを実行することも可能です. 例えばWindows上でSimple.groovyをUTF-8で保存し,それを実行するには次のようにします.
groovy -c UTF8 Simple.groovy
GroovyファイルをUTF-8形式で保存する際にWindowsの「メモ帳」を使った場合,そのGroovyファイルを実行するとエラーがでます. メモ帳で保存したUTF-8にはBOMが付くことが原因のようです.
UTF-8には,BOMの付かない"UTF-8N"と,BOM付きの"UTF-8"があります.
BOMはファイル先頭3バイトに書き込まれます.
BOMが付いたファイルは,groovy -c UTF8 ***.groovy
で実行できません.
UTF-8Nで保存できるテキストエディタを使ってください (XYZZYなど).
Webブラウザでhttp://localhost:8080/tag/
を開くとWebUIが表示されます.localhost以外からの接続はできません.Web UIは4つのペインで構成されます.
現在動作中のエージェントの一覧と,エージェントを操作するボタンが表示されます.
プログラムを編集できます.保存するにはエージェントペインのSave&restartボタンで行います.
TAGサーバとエージェントプログラムからの標準出力・標準エラー出力を表示します.エージェントプログラム内でprintlnした内容が表示されます.
メッセージに関する操作を行います.
java -cp tagserver.jar org.h2.tools.Console jdbc:h2:g:/jdk8/workspace/TAGserver/_tagserverにつなげる