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

QQ登录

只需一步,快速开始

查看: 27304|回复: 40

[结贴] 运行一段时间登录不上

  [复制链接]

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
发表于 2016-6-6 11:56:30 | 显示全部楼层 |阅读模式
本帖最后由 tengfei 于 2016-6-6 13:46 编辑

BEX5 v321,  Windows2012Server, MSSQL Server,Tomcat

系统运行了几天,前几天正常,但有一天登录时登录不上,表现为点击登录后卡死,后台报not registered的信息。好几次这个情况了,重启后能正常运行。log日志见附件。

log.rar

302.22 KB, 下载次数: 222

tomcatlog.rar

63.2 KB, 下载次数: 185

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-6-6 15:42:37 | 显示全部楼层
probe查看的运行时thread状况,总觉得有问题,详见图片。

prb.jpg
回复 支持 反对

使用道具 举报

发表于 2016-6-6 18:07:42 | 显示全部楼层
BeX5的问题请在 BeX模块提问,方便管理!谢谢!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-6-6 18:08:57 | 显示全部楼层
liangyongfei 发表于 2016-6-6 18:07
BeX5的问题请在 BeX模块提问,方便管理!谢谢!

我不知道,每次都是在一个页面上点发帖就发布的。现在要怎么办?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-6-6 18:22:44 | 显示全部楼层
用的是license还是license-server?

第一步:使用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下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-6-6 18:42:49 | 显示全部楼层
本帖最后由 tengfei 于 2016-6-6 23:33 编辑
jishuang 发表于 2016-6-6 18:22
用的是license还是license-server?

第一步:使用probe工具,以及操作系统自带工具

就是最简单的license,我还不知道license server 是什么。下载的企业版,然后申请license,注册就启动了 。

而且登陆卡死的时候,probe也卡死了。

之前用的调试模式运行了一段时间,现在正式运行,这个有关系吗?

加了数据连接测试,但启动后登陆报错,
//                String query = "select a.sName from sa_oporg a where a.sCode = :code";
//                                Map<String, Object> params = new HashMap<String, Object>();
//                                params.put("code", "system");
//                                Table table = KSQL.select(query, params, "/system/data", null);
//                System.out.println("LoginDatabase=="+table.size());
结果报错说system/data 没有绑定概念sa_oporg,奇怪。

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-6-7 09:19:35 | 显示全部楼层
跟正式运行没关系
http://ip:port/_index.html, 看访问是否正常

概念名要注意大小写的问题
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-6-15 16:58:19 | 显示全部楼层
本帖最后由 tengfei 于 2016-6-15 23:49 编辑
jishuang 发表于 2016-6-7 09:19
跟正式运行没关系
http://ip:port/_index.html, 看访问是否正常

查了一下,网上说:

//////////////////////////////////
严重: Error, processing connection
java.lang.IndexOutOfBoundsException
at java.io.BufferedInputStream.read(BufferedInputStream.java:310)
at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:620)
at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:577)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:685)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)
通过日志错误信息,可以判定不是程序问题。通过查看相关资料可以判定是有人访问程序的ajp端口造成的,于是我模拟访问ajp的端口,结果真的重现出来了。于是我把tomcat配置文件service.xml中的相关内容注解掉就可以了。

《!--《Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/》--》
结果这个错误就不会出现了。
////////////////////////////////
我们的后台也是这个错误
六月 14, 2016 4:44:38 下午 org.apache.jk.common.ChannelSocket processConnection
严重: Error, processing connection
java.lang.IndexOutOfBoundsException
        at java.io.BufferedInputStream.read(BufferedInputStream.java:327)
        at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:628)
        at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:585)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:693)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:745)

而且根据loginaction加了调试信息,没有走到。
注销8009这个可以吗?有没有什么影响?
回复 支持 反对

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-6-20 21:13:26 | 显示全部楼层
tengfei 发表于 2016-6-15 16:58
查了一下,网上说:

//////////////////////////////////

jishuang看看注销8009影响吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-6-21 11:45:24 | 显示全部楼层
平台不会去调用这个接口,要看tomcat对web应用处理的时候是否需要调用这个接口
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 23:47 , Processed in 0.060570 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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