赞
踩
本人在最近的项目过程中,发现一个很严重的问题
在我们写的一个应用中,jboss作应用程序的容器,其中加载了webservice服务。每次服务运行一段时间后,大概几天时间以后,发现很奇怪的现象。我们的jboss控制台上看到的信息,显示出,jboss承载的多个服务还在运行,但唯独这个webservice服务down掉了
访问对应的url地址,提示超时
后来写了一个监控该url端口的程序,主要代码如下:
package com.aspire.mecs.engine.webservice;
//按照报表格式生成所需要的数据记录
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Date;
import java.net.HttpURLConnection;
import java.net.URL;
import java.sql.*;
import org.apache.log4j.Logger;
import com.aspire.mecs.engine.dao.QueryDAO;
import com.aspire.mecs.engine.unsub.UnSubProcessMonitor;
import com.aspire.mecs.engine.util.*;
import com.aspire.mecs.engine.vo.SmsNotifyVO;
public class WebServiceMonitor implements Runnable {
private static Logger log = Logger.getLogger(WebServiceMonitor.class);
Connection conn = null;
private String smsinfomsg=ConfigUtils.getValue("MOMU", "monitorsmsinfo");
//private String smsinfomsg="四川体验卡系统监控到webserivce接口异常,请立即查看相关服务。--四川体验卡";
private String webservice_url =ConfigUtils.getValue("MOMU", "monitorurl");
//private String webservice_url = "http://211.137.86.211:8888/services/MobileMecs?wsdl";// 监控的webservice地址
//private int timeoutcounts = 3;// 设置超时报警的次数
private int timeoutcounts =Integer.parseInt(ConfigUtils.getValue("MOMU", "timeoutcounts"));
//private long request_timeout = 10000; // 心跳的时间间隔,此事件间隔为多长时间模拟客户端请求访问webservice地址一次
private long request_timeout =Long.parseLong(ConfigUtils.getValue("MOMU", "request_timeout"));
// TWEBSERVICEMONITORMOBILE 监控号码放在数据库的此表中,加条件isvalid为0
private static WebServiceMonitor instance = null;
public static WebServiceMon
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。