sqlloader5

// 使用debug命令控制是否要开启sqlload守护进程(默认开启)
if (isOpenDaemonThread)
{
// 数据入库守护线程,如果子进程阻塞,会做超时(30s)中断
Thread timeOutTh = new BasicThread()
{
@Override
public void run()
{
try
{
if (logger.isInfoEnabled())
{
logger
.info("*******************Start a oracle sqlldr daemon thread************************");
}
/**
* 每间隔500毫秒检查一次sqlload是否执行成功,总共最多检查60次。如果sqlload执行成功
* 则退出检查操作,守护进程任务结束,线程消亡。如果检查了60次,sqlload还没有执行成功
* 则认为sqlload进程阻塞,中断sqlload进程。
*
*/
for (int i = 60; i >= 0; i--)
{
// 守护进程睡眠500毫秒
threadSleep(PROCESS_TIMEOUT);

// sqlload执行成功,退出检查操作
if (exitValue == 2 || exitValue == 0)
{
break;
}
}

// 判断数据入库子线程是否执行完成,超时?
if (exitValue == -1)
{
isTimeOut = true;
if (ldr != null)
{
ldr.destroy(); // 销毁sqlldr进程
}
}
}
catch (Exception e)
{
logger.error(
"OracleSqlldr deamon thread exception", e);
}
}
};
timeOutTh.start();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值