起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5481|回复: 11

[处理中3] Not registed session

[复制链接]

68

主题

221

帖子

755

积分

高级会员

Rank: 4

积分
755
QQ
发表于 2022-7-6 10:12:12 | 显示全部楼层 |阅读模式
用户能访问到登录页面,但无法登录,一直在加载。
问题应该跟这个帖子一样

http://bbs.wex5.com/forum.php?mod=viewthread&tid=204581

我们用的x5.2.7版本,windows下部署,tomcat

目前这块有具体的解决方案吗

问题日志.zip

3.45 KB, 下载次数: 48

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-7-6 19:18:17 | 显示全部楼层
1.tomcat重启也不行吗?

2.登录的用户必须要在SA_OPPerson和SA_OPOrg中都存在,并且是可用状态才可以登录
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

68

主题

221

帖子

755

积分

高级会员

Rank: 4

积分
755
QQ
 楼主| 发表于 2022-7-8 09:33:17 | 显示全部楼层
jishuang 发表于 2022-7-6 19:18
1.tomcat重启也不行吗?

2.登录的用户必须要在SA_OPPerson和SA_OPOrg中都存在,并且是可用状态才可以登录 ...

对啊,每次重启TOMCAT就可以了啊
回复 支持 反对

使用道具 举报

68

主题

221

帖子

755

积分

高级会员

Rank: 4

积分
755
QQ
 楼主| 发表于 2022-7-8 09:34:04 | 显示全部楼层
jishuang 发表于 2022-7-6 19:18
1.tomcat重启也不行吗?

2.登录的用户必须要在SA_OPPerson和SA_OPOrg中都存在,并且是可用状态才可以登录 ...

用户都存在啊
回复 支持 反对

使用道具 举报

68

主题

221

帖子

755

积分

高级会员

Rank: 4

积分
755
QQ
 楼主| 发表于 2022-7-8 09:37:03 | 显示全部楼层
jishuang 发表于 2022-7-6 19:18
1.tomcat重启也不行吗?

2.登录的用户必须要在SA_OPPerson和SA_OPOrg中都存在,并且是可用状态才可以登录 ...

现在的问题应该跟 http://bbs.wex5.com/forum.php?mod=viewthread&tid=204581 这个地址里面的问题一样。我想问一下这个问题最后的解决方案是什么。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-7-12 15:15:54 | 显示全部楼层
在server.xml文件中增加如下的后4行,重启tomcat再观察看看

<Resource name="system" auth="Container" type="javax.sql.DataSource" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://localhost:1433/sp2" username="sa" password="sa" maxActive="10" maxIdle="5"
maxWait="30000"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"/>
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

68

主题

221

帖子

755

积分

高级会员

Rank: 4

积分
755
QQ
 楼主| 发表于 2022-7-15 17:44:22 | 显示全部楼层
jishuang 发表于 2022-7-12 15:15
在server.xml文件中增加如下的后4行,重启tomcat再观察看看

这些早都试过了,tomcat也没有死掉,其他tomcat下的新闻,probe都能访问,数据库也正常,就是平台无法登陆。一直加载中。
回复 支持 反对

使用道具 举报

68

主题

221

帖子

755

积分

高级会员

Rank: 4

积分
755
QQ
 楼主| 发表于 2022-7-15 17:50:58 | 显示全部楼层
jishuang 发表于 2022-7-12 15:15
在server.xml文件中增加如下的后4行,重启tomcat再观察看看

probe监控/BusinessServer 已经down掉了
企业微信截图_1657878559226.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2022-7-15 19:34:50 | 显示全部楼层
跟踪方式
第一步:使用probe工具,以及操作系统自带工具
查看当出现问题后,服务器的内存,CPU,线程,数据库连接使用情况;

第二步:判断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查询, 用来验证查询数据库数据是否成功;
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

68

主题

221

帖子

755

积分

高级会员

Rank: 4

积分
755
QQ
 楼主| 发表于 2022-7-15 19:53:49 | 显示全部楼层
jishuang 发表于 2022-7-15 19:34
跟踪方式
第一步:使用probe工具,以及操作系统自带工具
查看当出现问题后,服务器的内存,CPU,线程,数据 ...

你说的这几个我都做过了,能打开登录页面,就是输入用户名和密码后一直在加载。我想是不是你们这个系统本身的问题啊,能否解决一下。
//System.out.println("login().............33333"); 就是输出不出来。
private static Object login(String name, Date loginDate, String pwd, String lang, boolean checkPwd, String ip, Map<Object, Object> options){
                //System.out.println(name);
                //System.out.println(loginDate);
                //System.out.println(pwd);
                //System.out.println(lang);
                //System.out.println(checkPwd);
                //System.out.println(ip);
                //System.out.println(options);
                //System.out.println("login().............11111");
                ContextHelper.getSessionContext().put(OrgConstants.SYSTEM_LOGIN_IP, ip);
                name = getLoginNameByMail(name);
                //TODO: 默认语言是中文,将来这个点应该可配置
                if (Utils.isEmptyString(lang)){
                        lang = "zh_CN";
                }
                //System.out.println("login().............22222");
                //System.out.println(name+"-"+loginDate+"-"+pwd+"-"+lang+"-"+checkPwd+"-"+ip+"-"+options);
                List result = (List)OrgUtils.login1(name, loginDate, pwd, lang, checkPwd, ip, options);
                //System.out.println("login()............."+result.get(0));
                //System.out.println("login().............33333");
                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();
               
               
                return result;
        }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-22 18:26 , Processed in 0.096270 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表