XFire实现WebServices

本以为是WebServices的并发处理能力差,导致某时间点集中对WebServices发起的访问有出现访问不到的情况。
因此写了一个将客户端发起的访问时间进行错开的功能,客户端发起的访问时间是由服务器决定的,客户端首起启动时将从WebServices读取相应的发送规则,通过下边的类来修改不同客户端的发送规则,每十台机器采用一套发送规则。


package com.sise.attendance;

public class SendControl {

private static int machineNum = 0;

private static int second = 0;

private static SendControl sc = null;

private SendControl() {

}

public synchronized static SendControl getInstance() {

if (sc == null) {
sc = new SendControl();
}

return sc;
}

public synchronized void setMachineNum() {
if (machineNum == 10) {
machineNum = 0;

// 发送时间增量达到6分钟后加零
if (second == 360) {
second = 0;
}

// 当machineNum达到10台机器后便加大发送时间的增量
second += 30;

}
machineNum++;
}

public int getIncrementSecond() {
return SendControl.second;
}

public int getMachineNum() {
return SendControl.machineNum;
}
}

此类为一个单例类,然后将错开时间的设置方法进行了资源同步。
用此来错开控制端的发送时间。

但问题依然存在有数据没能发送过来,可能是网络或者交换机有丢失包的问题了。
进一步研究中。。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值