📄 submitthread.java
字号:
package cn.netjava.cngpclient;
import java.sql.*;
import java.util.*;
import cn.netjava.cngpclient.connection.ComConstants;
import cn.netjava.cngpclient.connection.IsmgInfo;
import cn.netjava.cngpclient.log.LogManage;
import cn.netjava.cngpclient.publics.*;
import java.util.logging.*;
/**
* 发送接口表数据到服务器网关的线程
* 中国网通短信网关客户端--蓝杰实训项目
* @author www.NetJava.cn
*
*/
public class SubmitThread extends Thread {
public static SubmitThread getIns() {
if (null == dddd) {
dddd = new SubmitThread();
}
return dddd;
}
private static int MTcount = 0;
public void run() {
cn.netjava.cngpclient.publics.PublicFuction.threadSleep(1000);
int i = 1, msg_id = 0;
String usernumber = "error!";
ResultSet rs;
while (true) {
cn.netjava.cngpclient.publics.PublicFuction
.threadSleep(IsmgInfo.SendInterval);
if (connup == null)
initDB();
try {
rs = getpstmt.executeQuery();
while (rs.next()) {
Thread.sleep(IsmgInfo.SendInterval);
SendDataBean s = new SendDataBean();
s.clearAllDest();
msg_id = rs.getInt(1);
usernumber = rs.getString(2);
s.addDestAddr(usernumber);
s.dataCoding = rs.getByte(3);
s.feeTerminalId = rs.getString(4);
s.feeType = rs.getByte(5);
s.feeUserType = rs.getByte(6);
s.servieceType = rs.getString(7);
s.infoFee = Integer.parseInt(rs.getString(8));
s.sendData = rs.getString(9);
s.registeredDelivery = rs.getByte(10);
s.srcAddr = rs.getString(11);
s.subType = rs.getByte(12);
if (cn.netjava.cngpclient.connection.CmppConnectionManager
.instance().connectionSubmit.getStatus() != ComConstants.NOTCONNECTED) {
if (cn.netjava.cngpclient.connection.CmppConnectionManager
.instance().sendToIsmg(s))
deleMO(msg_id);
LogManage.ins().myLog.logp(Level.INFO, "",
"" + MTcount, " send to: " + usernumber);
MTcount++;
}
}
} catch (Exception e) {
LogManage.ins().myLog.logp(Level.SEVERE, "", "",
" databaseacc run:get submit message from db error: "
+ e);
try {
connup.close();
connup = null;
initDB();
} catch (Exception ef) {
connup = null;
}
cn.netjava.cngpclient.publics.PublicFuction.threadSleep(3000);
}
}
}
private boolean deleMO(int id) throws Exception {
delepstmt.setInt(1, id);
delepstmt.execute();
return true;
}
private SubmitThread() {
while (!initDB()) {
cn.netjava.cngpclient.publics.PublicFuction.threadSleep(3000);
LogManage.ins().myLog.logp(Level.SEVERE, "", "",
" init Submit conn error ");
}
}
private boolean initDB() {
try {
connup = DatabaseAccess.connectDatabase(
PublicConstants.CONNECTION_intery,
PublicConstants.DB_USER_intery,
PublicConstants.DB_PASS_intery);
getpstmt = connup.prepareStatement(getSql);
delepstmt = connup.prepareStatement(deleSql);
LogManage.ins().myLog.logp(Level.INFO, "", "",
" Submit conn DB OK");
return true;
} catch (Exception e) {
LogManage.ins().myLog.logp(Level.SEVERE, "", "",
" Submit conn DB error: " + e);
}
return false;
}
private static SubmitThread dddd = null;
private static Connection connup = null;
private static PreparedStatement getpstmt = null;
private static PreparedStatement delepstmt = null;
private static String getSql = "select top 5 * from cngp_interface_SUBMIT where MSG_SRC like '"
+ IsmgInfo.spCode + "%' ";
private static String deleSql = "delete from cngp_interface_SUBMIT where ID=?";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -