电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

技术方案--NC56两个预警问题.pdfVIP免费

技术方案--NC56两个预警问题.pdf_第1页
1/7
1/7用友股份-LE支持服务业务本部技术方案--《NC56两个预警问题》建立日期:2013-10-20修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-JS-2013-01252/7文档控制创建记录适用范围审阅人日期审阅签字所属部门发布范围发布人姓名所属部门发布时间内部员工伙伴客户日期作者所属部门邮件地址版本2013-10-20魏享林技术支持部V1.0版本领域模块备注NC563/7目录NC56两个预警问题..................................................................................................4问题一:NMC重启was后预警不能自动运行问题..............................................4(一问题现象...............................................................................................4)(二解决过程...............................................................................................4)(三解决方案...............................................................................................6)问题二:was重启后预警不能自动运行问题........................................................6(一问题现象...............................................................................................6)(二解决过程...............................................................................................6)(三解决方案...............................................................................................7)4/7NC56两个预警问题问题一:NMC重启was后预警不能自动运行问题问题现象(一)通过NMC重启一个server后,以前在该server上运行的预警都不会自动运行,在预警调度中看不到那些预警。解决过程(二)(1)NC56启动预警是在PrealertLiveListener中处理的,在server启动时,就会去加载预警条目,创建预警任务。启动server时,会在pa-log中输出“>>PrealertLiveListener.doWhenStartcalled”。5/7(2)在本地环境中,用nmc重启server,查看pa日志中记录的server启动信息,发现没有看到server启动的日志,而有server重新启动的日志。这说明用NMC重启server,事件是restart而不是start,在was管理控制台重启server,发现响应事件也是restart。NMC重启server和was控制台启动server都走了dmgr,说明通过dmgr启动server都是restart事件,而通过startserver脚本启动server则是start事件。(3)从上面的代码看出,对应restart事件,程序是没有做任何处理的,即并没有去加载该server对应的预警条目。修改代码,对于restart事件处理的同start事件相同,补丁在用户环境下测试通过。6/7解决方案(三)修改PreAlertLiveListener对restart事件的响应,在restart时,去创建预警任务。补丁见NC56最新预警汇总补丁包:nchome.rar,打此补丁需要部署EJB。问题二:was重启后预警不能自动运行问题问题现象(一)was重启后,自动运行的任务都不会自动运行,必须手工修改预警后才会运行。解决过程(二)(1)打上56预警汇总补丁后,发现问题还是一样。(2)在加载预警条目,创建预警任务的代码中打桩,看是哪一步出了问题,检查打桩日志发现,加载预警条目没有问题,但创建预警任务一直没有结束,可能是中途遇到异常退出了。(3)在master节点的pa-log日志中,发现如下报错信息,从报错信息可以看出,多个线程同时更新一个List,导致并发错误。7/7(4)检查AlertRuntime类的代码,发现该类方法没有加同步,在高并发下,容易出现并发错误。(5)修改AlertRuntime类代码,将方法都改为同步方法,补丁打到用户环境后,发现预警能自动运行了。(6)查询pub_alertregistry表的记录,发现有4500多条。至此找到此问题只在这个项目出现的原因:因为要创建的预警任务很多,并发度很高,高并发时,多个server都会去访问master节点的AlertRuntime方法,造成并发错误。解决方案(三)将master上管理预警队列的方法改成同步方法。补丁见NC56最新预警汇总补丁包:nchome.rar,打此补丁需要部署EJB。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

技术方案--NC56两个预警问题.pdf

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信