Union alpha4がリリースされたので使ってみました。 tryunion.comを使われている方は、Reactorの更新が必要です。自身でUnion Serverを用意している方はReactor、Union Serverの両方を更新しましょう。
リリースノートは以下から確認出来ます。 Union 1.0 Alpha4 Release Notes
なお、以前のalpha3向けのエントリーは更新する予定です。完了しましたら別途お知らせいたします。
では、変更された点を確認してみます。
UPC仕様の更新
ReactorとUnion Serverとのやりとりで利用されているUPCの仕様が変更されたようです。
詳しくは、UPC変更点を参照して下さい。
ReactorのAPI
ClientクラスのgetAttributeメソッドの引数指定の変更と、細かなバグフィックスが行われたようです。
Reactorドキュメント
主に、以下のクラスのドキュメントが更新されています。
- net.user1.reactor.Client
- net.user1.reactor.ClientEvent
- net.user1.reactor.ClientManager
- net.user1.reactor.Reactor
- net.user1.reactor.ReactorEvent
- net.user1.reactor.RoomEvent
- net.user1.reactor.Tokens
- net.user1.reactor.UPC
- net.user1.reactor.Validator
ここに挙げたクラスのドキュメント以外にも、文言の微調整がいくつかされているようです。
APIの変更
net.user1.reactor.ClientクラスのgetAttributeメソッド
引数の順番が変更になりました。
alpha3
// グローバルスコープ client.getAttribute(null, "attributeKey"); // 特定のRoomスコープ client.getAttribute("roomID", "attributeKey");
alpha4
// グローバルスコープ client.getAttribute("attributeKey"); // 特定のRoomスコープ client.getAttribute("attributeKey", "roomID");
net.user1.reactor.ClientManagerのgetAttributeForClientsメソッド
ClientクラスのgetAttributeメソッドと同様に、引数の順番が変更となりました。
net.user1.reactor.RoomEventの定数
UPCの仕様変更に伴い、RoomEventの定数が増えています。
Union Server
policy.htmlを更新した際に、ポリシーが自動で更新されるようになりました。その他バグフィックスが行われたようです。
クラスの追加
docs/javadocの下を見る限り以下のクラスが追加されたようです。
- net.user1.union.core.connection.Connection
- net.user1.union.core.def.ConnectionFilterDef
- net.user1.union.api.Reauest
Union Server起動時の挙動
windows環境で、startserver.batを実行すると、今まではコマンドプロンプトが開いてログも表示されていたのですが、表示されなくなりました。管理用ツール(UnionAdmin.swf)で見れるようになったので表示されなくなったようです。
その他の更新は、Union Server変更点を参照して下さい。
管理ツール(UnionAdmin.swf)
前述の通り、Union Serverのログを確認できるようになりました。FMS管理コンソールと似てきましたね。正直alpha3まではあまり使っていなかったのですが、Roomの情報も細かく見れるようになったりバグが修正されたようなので、これからは使ってみようと思います。
その他の更新は、管理ツール(UnionAdmin.swf)変更点を参照して下さい。
その他の更新
@keno42さんからの情報です。ClientクラスのsetAttribute()メソッド実行時に、自身のClient Attributeの更新通知は即時反映されるようになりました。
以下のサンプルで試した見たのですが、tryunion.comに接続した状態で、自身のClient Attribute更新時は15msec程度でした。別ClientのClient Attribute更新時は、状況によりりますが100msec以上かかるようです。
自身のClient Attributeの更新も他のクライアントと同様のレスポンスを期待する場合には、ClientクラスのsetAttribute()メソッド実行時のevaluateオプションをtrueにすると、サーバでの処理が走るので強制的にUnion Server経由で更新が通信されるようになるそうです。
wonderflの投稿
wonderflのUnionライブラリもalpha4に更新されたようですので、Unionライブラリを使っている投稿は最コンパイルする必要があります。
また、私の以下の2つの投稿では、ClientメソッドのgetAttributeメソッドを使用しておりましたので引数の修正を行いました。
まとめ
私がUnionライブラリを本格的に使い始めたのはalpha3からでしたので、初めてのアップデートでした。プロダクトのアップデートは大変ワクワクしますね。Derek Claytonさん、Colin Moockさんありがとうございます。