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

QQ登录

只需一步,快速开始

楼主: tengfei

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

  [复制链接]

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-11-18 14:17:40 | 显示全部楼层
jishuang 发表于 2016-11-17 17:46
不需要打包app,pc就可以测试

升级脚本可以从http://bbs.wex5.com/forum.php?mod=forumdisplay&fid=75&fil ...

现在又出现了两次java崩溃的情况:

问题签名:
  问题事件名称:        APPCRASH
  应用程序名:        java.exe
  应用程序版本:        7.0.600.19
  应用程序时间戳:        536a919a
  故障模块名称:        jvm.dll
  故障模块版本:        24.60.0.9
  故障模块时间戳:        536a9aa6
  异常代码:        c0000005
  异常偏移:        0000000000121a1a
  OS 版本:        6.2.9200.2.0.0.272.7
  区域设置 ID:        2052
  其他信息 1:        ae07
  其他信息 2:        ae07215b7956520e515e58e4f790f399
  其他信息 3:        b51c
  其他信息 4:        b51ca1a994f46956c3f554f5764fd84f

联机阅读隐私声明:
  http://go.microsoft.com/fwlink/?linkid=190175

如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
  C:\Windows\system32\zh-CN\erofflps.txt


这个是什么原因?又有什么关联?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-11-18 14:43:13 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-11-21 12:46:47 | 显示全部楼层
本帖最后由 tengfei 于 2016-11-21 12:58 编辑

唉,堵塞还是解决不了,在线人数有10几个以上probe的数据源就有显示有block,在数据库里查看,jtds好像没释放。
dbzs.jpg



网上有资料说:
==============
  查询相关文档,了解到JTDS默认的socketTimeout0,即读取数据没有超时时间。
   
当数据链接意外终止的时候,JDTS可能检测不到,就会一直等待数据,阻塞进程。

   
在本地重现该问题,在循环体里面设置断点,进入断点后,断掉所有网络链接,取消断点,继续运行,发现程序被一致阻塞了。
   
当设置socketTimeout60秒,重试,程序阻塞60秒后抛出异常。

   
该问题在查询SQLServer数据库,大数据量查询,分批获取的时候,容易出现
   
3.
解决方案
  
jdtsurl链接中加上socketTimeout(单位秒)的设置,或在dbcp中如下设置
  <property name="connectionProperties" value="characterEncoding=UTF-8;
socketTimeout=60"/>
  
这个参数和mybatisdefaultStatementTimeout 参数是不一样的

  
同时Worker中加入异常捕获重试机制
==========================

这个在X5的哪里设置?
url="jdbc:jtds:sqlserver   可不可以去掉jtds,直接 url="jdbc:sqlserver    ?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-11-21 14:10:11 | 显示全部楼层
可以直接在url上加上这个参数的
jdbc:jtds:sybase://192.168.1.229:5000/x5sys?socketTimeout=60

这个url是java用jdbc方式链接数据库的标准设置,不是x5控制的,应该是不能去掉的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-11-21 14:31:50 | 显示全部楼层
本帖最后由 tengfei 于 2016-11-21 16:15 编辑
jishuang 发表于 2016-11-21 14:10
可以直接在url上加上这个参数的
jdbc:jtds:sybase://192.168.1.229:5000/x5sys?socketTimeout=60

好的,试试。
每次都有task表死锁情况(task表原来13万多数据,删掉剩下4万,还是出现),他们这边就三个流程,但每个流程有几十个模板!
这样一来是不是容易发生死锁?
刚刚试了试,加上以后,启动服务连不上数据库,报什么持久连接什么的错误。


刚刚又是堵塞,附件是查询导出的情况。

block.rar (2.02 KB, 下载次数: 90)
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-11-21 16:24:18 | 显示全部楼层
1.select死锁是sqlserver数据库的问题,数据库应该有相关的设置
2.之前版本平台默认的连接池释放是否有问题,在前面已经让加上3个配置了,数据源配置中都添加了吗?
  自己代码中如果都是调用的平台的API操作的ksql和sql不需要去释放连接
3.可以先下载一个新版本测试看看,解决过连接池释放的问题
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-11-21 16:37:29 | 显示全部楼层
jishuang 发表于 2016-11-21 16:24
1.select死锁是sqlserver数据库的问题,数据库应该有相关的设置
2.之前版本平台默认的连接池释放是否有问题 ...

1)
3个配置加了
<Resource name="system" auth="Container" type="javax.sql.DataSource" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://192.168.70.5:1433/oa"  username="oa" password="x5" maxActive="300" maxIdle="10" removeAbandoned="true" removeAbandonedTimeout="180" logAbandoned="true"        />

2)新版本用pc测试,如果正式使用是不是要重新打包app?

3)为什么加上?socketTimeout=60启动tomcat报错不能连接数据库了?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-11-21 17:24:03 | 显示全部楼层
1.在加一个maxWait="30000"看看
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。

2.需要重新打包app,3.2.1到新版本的Cordova插件有调整
3.具体的错误信息是什么?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-11-21 20:27:48 | 显示全部楼层
jishuang 发表于 2016-11-21 17:24
1.在加一个maxWait="30000"看看
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无 ...

加上?socketTimeout=60具体错误信息:

Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150055; 提示: 在
模块"/system/data"下获取数据库连接出错
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.data.Transaction.getConnection(Unknown Source)
        at com.justep.system.data.Transaction.getConnection(Unknown Source)
        at com.justep.model.ModelUtils.getConnection(Unknown Source)
        ... 34 more
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create Poolabl
eConnectionFactory (无法打开登录所请求的数据库 "oa?socketTimeout=60"。登录失败。
)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionF
actory(BasicDataSource.java:1549)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDat
aSource.java:1388)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSo
urce.java:1044)
        at com.justep.system.data.Transaction.getConnectionWithJndi(Unknown Sour
ce)
        ... 37 more
Caused by: java.sql.SQLException: 无法打开登录所请求的数据库 "oa?socketTimeout=6
0"。登录失败。
        at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.j
ava:365)
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
        at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:599)
        at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java
:331)
        at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java
:50)
        at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:178)
        at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(
DriverConnectionFactory.java:38)
        at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(Pool
ableConnectionFactory.java:582)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory
(BasicDataSource.java:1556)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionF
actory(BasicDataSource.java:1545)
        ... 40 more
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2016-11-22 09:53:32 | 显示全部楼层
如下这样配置
url="jdbc:jtds:sqlserver://192.168.1.200:1433/x5sys;socketTimeout=60"
jdbc.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 21:44 , Processed in 0.072215 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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