java webservice 线程,WebService线程问题

package com.adm.server.service.impl;

import javax.annotation.Resource;

import javax.jws.WebService;

import org.apache.log4j.Logger;

import com.adm.cognosexportengine.log.service.ILogManagerService;

import com.adm.cognosexportengine.pojo.TLog;

import com.adm.cognosexportengine.pojo.TTypeDefine;

import com.adm.cognosexportengine.typedefine.service.ITypeDefineManagerService;

import com.adm.server.service.IEngine;

import com.adm.utils.DateUtils;

@WebService(endpointInterface = "com.adm.server.service.IEngine")

public class EngineImpl implements IEngine {

private static final Logger log = Logger.getLogger(EngineImpl.class);

// 报表引擎

@Resource(name = "webServiceEngine")

private com.adm.cognosexportengine.engine.IEngine engine;

@Resource(name = "typeDefineManagerService")

private ITypeDefineManagerService typeDefineManagerService;

@Resource(name = "logManagerService")

private ILogManagerService logManagerService;

private TTypeDefine typeDefine;

private TLog tLog;

private String startTime;

// 1:运行成功 0:运行失败

private String status;

private String message;

/**

* 功能描述:[webService启动引擎]

*

* @return

* @throws Exception

* @author:Brook

* @update:[日期YYYY-MM-DD][Brook][捕获抛出异常]

*/

@SuppressWarnings("unchecked")

public String run(String taskId) {

setStartTime(null);

if (taskId == null || "".equals(taskId)) {

// 判断 生成xml 串返回

setStatus("0");

setMessage("taskId不允许为空");

log.error("taskId不允许为空");

return new EngineImpl().creatResultUtil(taskId,"", status, startTime,

DateUtils.getNow(), message);

}

typeDefine = (TTypeDefine) typeDefineManagerService.findByID(

TTypeDefine.class, Long.parseLong(taskId));

// 更新最近开始执行时间

typeDefine.setLastTimeStartTime(DateUtils.getNow());

typeDefineManagerService.update(typeDefine);

tLog = new TLog(taskId, typeDefine.getName(), "定时调度", startTime,

"", "", "");

logManagerService.save(tLog);

try {

System.out.println("EngineImpl.run()-----------hashcode"+this.hashCode());

engine.execute(taskId);

setStatus("1");

setMessage("运行成功");

typeDefine.setLastStatus("执行完成");

tLog.setMessageId("正常执行");

} catch (Exception e) {

String messageInfo = e.getMessage();

setStatus("0");

setMessage("运行失败\n" + messageInfo);

typeDefine.setLastStatus("异常结束");

tLog.setMessageId("执行失败");

if (messageInfo.length() > 3000) {

messageInfo = messageInfo.substring(0, 3000);

}

typeDefine.setErrMsg(messageInfo);

tLog.setMessageInfo(messageInfo);

}

// 更新最近结束执行时间

typeDefine.setLastTimeEndTime(DateUtils.getNow());

tLog.setEndTime(DateUtils.getNow(DateUtils.FORMAT_LONG));

typeDefineManagerService.update(typeDefine);

logManagerService.update(tLog);

return new EngineImpl().creatResultUtil(taskId, typeDefine.getName(),status, startTime,

DateUtils.getNow(), message);

}

public String creatResultUtil(String taskId, String taskNm,String status,

String starttime, String endtime, String message) {

StringBuffer resultMessage = new StringBuffer();

resultMessage.append("\n");

resultMessage.append("" + taskId + "\n");

resultMessage.append(""+taskNm+"\n");

resultMessage.append("" + status + "\n");

resultMessage.append("" + starttime + "\n");

resultMessage.append("" + endtime + "\n");

resultMessage.append("" + message + "\n");

resultMessage.append("");

return resultMessage.toString();

}

public String getStartTime() {

return startTime;

}

public void setStartTime(String startTime) {

if (!"".equals(startTime) || startTime == null) {

this.startTime = DateUtils.getNow();

} else {

this.startTime = startTime;

}

}

public String getStatus() {

return status;

}

public void setStatus(String status) {

this.status = status;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值