私はAkkaを新しく使いました。私は自分のアプリケーションの設計上の決定を支持したいと思っています。私はかなり典型的なクライアント/サーバーアプリケーションを持っています。開始時に、クライアントはアプリケーションレベルで認証を受けることができ、その後は通常の運用モードで実行できるはずです。他の状態などを切断終了、などの頁もあります。認証用のAkkaデザイン(有限状態マシン)
瞬間、私はだから私は別の状態に異なるProcedure
を使用することになりbecome()
public class MyServerActor extends UntypedActor {
Procedure<Object> normal = new Procedure<Object>() {
@Override
public void apply(Object msg) {
handleMessage(msg);
}
};
@Override
public void onReceive(Object msg) throws Exception {
if (msg instanceof LoginMessage) {
// do login stuff, assume the login was successful
getContext().become(normal);
}
を使用して、これを実装しました。 しかし、http://doc.akka.io/docs/akka/snapshot/java/fsm.htmlの文書には、標準状態マシンのようにかなり機能する有限状態マシンの記述があります。状態に応じて特定のアクションを実行します。
私はどちらがより良いアプローチですか?または、JavaでAkkaでClient/Serverアプリケーションを実装する通常の方法は何ですか?