Tôi khá mới đối với Akka và tôi rất muốn có một số hỗ trợ cho quyết định thiết kế cho ứng dụng của tôi. Tôi có một ứng dụng Client/Server khá điển hình. Khi bắt đầu, máy khách sẽ có thể xác thực ở cấp ứng dụng và sau đó sẽ có thể chạy ở chế độ hoạt động bình thường. Ngoài ra còn có tình trạng khác như đóng cửa, ngắt kết nối, vv pp.Thiết kế Akka để xác thực (Máy nhà nước hữu hạn)
Tại thời điểm này, tôi thực hiện điều này bằng 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);
}
Vì vậy, tôi sẽ sử dụng một khác nhau Procedure
cho một quốc gia khác nhau. Tuy nhiên, trong tài liệu tại http://doc.akka.io/docs/akka/snapshot/java/fsm.html có một mô tả Máy hữu hạn của Bang có nhiều công trình giống như một Máy nhà nước tiêu chuẩn; tùy thuộc vào tiểu bang làm một số hành động nhất định.
Tôi tự hỏi đó là cách tiếp cận nào tốt hơn? Hoặc cách tiếp cận thông thường thực hiện ứng dụng Client/Server trong Akka với java là gì?