最近对短信猫用java进行了二次开发,其中在发送上采用循环发送,用到了计时器timer,每隔6分钟计时器循环一次,代码如下
private javax.swing.Timer time = new javax.swing.Timer(360000,
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) { try {
if (gsmmodem == null) {
System.out.println("gsmmodem为null,需要new个对象出来");
gsmmodem = new GSMModem();
}
if (!gsmmodem.GSMModemIsConn()) {
System.out.println("开启设备");
start();
}
                                                       //发送短信内容
SendService service = new SendServiceImp();
if (gsmmodem.GSMModemIsConn()) {
service.getMsg(gsmmodem, gsm);
gsm.readMessage(gsmmodem);
} } catch (Exception e1) {
;
} finally {
end(gsmmodem, gsm);
System.out.println("关闭设备完成");
}
}
});
现在的问题是,刚开始系统运行正常,信息可以成功发送,但是每次运行到四-五天,短信猫就打不开了,重启插拔设备并启动服务器后又可以运行了,谁能告诉我大概是哪里出问题了吗? 着急中..........

解决方案 »

  1.   

    根据报错信息是说的端口被占用,但是我把设备关闭了啊finally {
    end(gsmmodem, gsm);
    System.out.println("关闭设备完成");
    }
    而且是前几天没事,到四五天以后就报端口被占用,蛮奇怪的。
      

  2.   

    昨天又出错了,我重新部署程序以后还是不行,然后我就把设备从电脑上拔除,然后再连接上重启tomcat后,又能正常运行了。所以我觉得不像是程序的问题但也感觉不错来设备哪里出错了,因为毕竟刚开始它可以正常运行几天的。
      

  3.   

    LZ,把SendService service = new SendServiceImp();类和start(),end()帖一下,感觉问题可能在里面还有,帖代码麻烦排一下版