用短信猫实现短信发送,异常。。。
我们的系统需要接收和发送短信功能,用了GSM Modem,就是插手机卡那个猫。
我的实现方式:把要发送的短信存放在定时任务的队列里。按队列先后进行发送。每隔几秒刷新一下页面状态看是否执行成功。基本上运行是正常的,但有时候客户会反映短信发不出去,重启tomcat服务后发送不出去的短信也仍发不出去,但新的短信可以发出去。
查看日志发现有以下异常:
INFO - Exec: getPhrase.sendState()
Mobile Device Information:
Manufacturer : WAVECOM MODEM
Model : MULTIBAND 900E 1800
Serial No : 012345678901234
IMSI : 460028532994139
S/W Version : 641b09gg.Q2403A 1320676 061804 14:38
Battery Level : 0%
Signal Level : 90%
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at org.jsmsengine.COutgoingMessage.getPDU(COutgoingMessage.java:137)
at org.jsmsengine.CService.sendMessage(CService.java:985)
at org.jsmsengine.CService.sendMessage(CService.java:885)
at cn.com.utils.timer.SendMessage.sendMessage(SendMessage.java:73)
at cn.com.utils.timer.SendMsgRunTask.run(SendMsgRunTask.java:75)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Message Failed!
想问一下各位,
1、这个异常是不是代表短信猫中的短信已经满了,还是我的程序字符串读取有问题。【因为是我程序中创建消息实例时出错的。COutgoingMessage msg = new COutgoingMessage(tel,content);】
2、短信猫读取短信除了放到队列中执行,还有没有其他的解决办法?
3、我跟踪程序发现有时候定义的定时任务没有执行,不知道你们有没有遇到过这种情况?
非常感谢!!!