开发集群应用指南
1. 启动BlackJackClient并观察输出
启动BlackJackClient,同时观察Eclipse客户端控制台和服务器控制台的输出。在服务器上,你会注意到 “Player score: xx” 消息,这是我们在 deal() 方法中为调试添加的,它表明智能代理访问了哪个服务器。由于采用了FirstAvailable负载均衡策略,后续调用将继续使用该服务器。
接下来,使用你喜欢的关闭方式(如Ctrl + C、关闭脚本或kill -9)关闭该服务器,然后继续请求发牌以继续玩21点游戏。如果你严格按照上述步骤操作,剩余节点将保留玩家分数并继续游戏,这得益于会话复制机制,确保了21点游戏可以继续进行。
2. 会话的编程式复制
我们已经了解了如何基于配置进行会话复制。此外,还可以通过实现 org.jboss.ejb3.cache.Optimized 接口来覆盖缓存策略。该接口包含 isModified() 方法,它决定是否进行会话复制。若该方法返回 true ,则进行会话复制;否则不进行。
以下是示例代码:
@Stateful
@Clustered
public class BlackJackBean implements BlackJack {
// all prior code
boolean replicateSession;
public boolean isModified() {
if (repli
超级会员免费看
订阅专栏 解锁全文
7万+

被折叠的 条评论
为什么被折叠?



