|
发表于 2018-3-6 13:26:40
|
显示全部楼层
如果tomcat监控工具查看的都正确,可以按下面的步骤排查一下第一步:判断tomcat运行是否正常(比如线程数)
在浏览器中输入http://ip:port/_index.html, 看访问是否正常
第二步:判断UIServer运行是否正常
在浏览器中输入http://ip:port/x5,看看访问是否正常(这时应该打开登录页面)
第三步:判断BusinessServer运行是否正常
在浏览器中输入http://ip:port/BusinessServer/license,看看访问是否正常(这时应该显示license信息)
第四步:判断数据库访问是否正常
修改/BIZ/system/logic/code/dsrc/OPMProcedure.java中的
private static Object login(String name, Date loginDate, String pwd, String lang, boolean checkPwd, String ip, Map<Object, Object> options) {
//TODO 添加日志输出
ContextHelper.getSessionContext().put(OrgConstants.SYSTEM_LOGIN_IP, ip);
name = getLoginNameByMail(name);
// TODO: 默认语言是中文,将来这个点应该可配置
if (Utils.isEmptyString(lang)) {
lang = "zh_CN";
}
//TODO 添加日志输出
List result = (List) OrgUtils.login1(name, loginDate, pwd, lang, checkPwd, ip, options);
//TODO 添加日志输出
if ("true".equals(result.get(0))) {
Operator operator = ContextHelper.getOperator();
UserManager.instance().addUser(new User(ContextHelper.getSessionContext().getSessionID(), operator.getName(), operator.getID(), CommonUtils.getCurrentDateTime(), operator.getLoginIP()));
}
String deviceType = "未知";
String operatingSystem = "未知";
if (options != null) {
deviceType = (String) options.get("DeviceType");
if (Utils.isEmptyString(deviceType)) {
deviceType = "未知";
}
operatingSystem = (String) options.get("OperatingSystem");
if (Utils.isEmptyString(operatingSystem)) {
operatingSystem = "未知";
}
}
ContextHelper.getSessionContext().put("DeviceType", deviceType);
ContextHelper.getSessionContext().put("OperatingSystem", operatingSystem);
checkClientApp();
// cache orgVersion
String orgVersion = OrgCache.getOrgVersion();
result.add(orgVersion);
return result;
}
在相应//TODO上添加日志输出,当出问题时, 看看有没有走到相应的点(点登录时,会调用此方法)
另: 可以在这个方法的开始, 写一个简单的sql查询, 用来验证查询数据库数据是否成功;
第五步:验证LicenseServer是否正常
其中某个BusinessServer不连LicenseServer, 申请一个独立的测试License(使用集成License,而不是LicenseServer), 当出现问题时, 不通过代理,直接访问那个集成License所在的服务,看看是否正常
|
|