5
我對Akka相當陌生,我很想爲我的應用程序的設計決策提供一些支持。我有一個相當典型的客戶/服務器應用程序。在開始時,客戶端應該能夠在應用程序級進行身份驗證,之後應該能夠以正常操作模式運行。也有其他國家如關閉,斷開等頁。Akka認證設計(有限狀態機)
目前,我實現了這個使用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);
}
所以我會用不同的Procedure
爲不同的狀態。 但是,在http://doc.akka.io/docs/akka/snapshot/java/fsm.html的文檔中有一個有限狀態機描述,它幾乎和標準狀態機一樣工作;取決於國家做某些行動。
我想知道哪種方法更好?或者在java中使用Akka實現客戶端/服務器應用程序的常用方法是什麼?