一个方法被三次调用,奇葩的问题!

meow_meow 2018-02-06 05:19:50
我在工程中设置了一个定时任务

定时任务是用spring自带的定时任务做的,工具 IDE 是 Eclipse

写一段大概意思的代码

//这是要执行的任务
QueryBanlenceTask(){
for(int i ; i<10 ; i++ ){
//调用方法
String requestXml = createRequestXml();

//执行其他操作
}
}

Private String createRequestXml(){
//在这里生成Xml文件
}

出现的问题:
在调用createRequestXml方法时,原本是每循环一次调用一次方法,
实际中每循环一次,这createRequestXml方法,被调用了三次(多次验证确定是三次)


我开始是怀疑eclipse出了问题,在模拟了这个问题后,其他地方执行正常,并没有循环一次调用三次现象

现在很迷茫,不知道是哪里出现问题了


...全文
544 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2018-02-07
  • 打赏
  • 举报
回复
引用 2 楼 meow_meow 的回复:
[quote=引用 1 楼 shzy1988 的回复:] 代码不全,不好找问题。应该不会是IDE的问题,比较eclipse久经沙场。还是比较靠谱的
找到问题了,获取当前线程 id ,发现有三个线程在同时运行这个任务 以前的人写的代码,在系统中有三处加载 static FileSystemXmlApplicationContext context; static{ context = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");. } 我的理解是,启动工程就相当于加载了三个context上下文,那我的定时任务 在三个context中各有一份,所以会出现三次调用的现象。我把代码中的context注释两个context后,运行正常了。 不知道理解的对不。我比较奇怪的是这系统居然能正常的运行了两年多,真是牛逼。 [/quote] 这个很正常,多个spring容器,但实际上是隔离的,代码运行时也只会用WebApplicationContext对应spring容器的bean,如果只用来做注入,基本没啥问题的,就是费点内存
meow_meow 2018-02-06
  • 打赏
  • 举报
回复
引用 1 楼 shzy1988 的回复:
代码不全,不好找问题。应该不会是IDE的问题,比较eclipse久经沙场。还是比较靠谱的
找到问题了,获取当前线程 id ,发现有三个线程在同时运行这个任务 以前的人写的代码,在系统中有三处加载 static FileSystemXmlApplicationContext context; static{ context = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");. } 我的理解是,启动工程就相当于加载了三个context上下文,那我的定时任务 在三个context中各有一份,所以会出现三次调用的现象。我把代码中的context注释两个context后,运行正常了。 不知道理解的对不。我比较奇怪的是这系统居然能正常的运行了两年多,真是牛逼。
双子叶 2018-02-06
  • 打赏
  • 举报
回复
代码不全,不好找问题。应该不会是IDE的问题,比较eclipse久经沙场。还是比较靠谱的
内容概要:本文聚焦于“空地多无人平台协同路径规划技术”的研究与复现,基于Matlab代码实现对无人机(UAV)与无人地面车辆(UGV)等异构多智能体系统的协同路径规划方法进行深入探讨。研究涵盖了多种智能优化算法,如蚁群算法、A*算法、RRT算法及蜣螂优化算法等,在三维复杂动态环境中实现多平台的安全、高效路径规划。重点解决了动态障碍规避、地形威胁应对与多任务约束下的协同作业问题,强调算法的工程可操作性与科研创新性。文档配套提供完整的Matlab仿真代码与网盘资源,支持算法验证、性能对比与二次开发,有助于推动相关技术在实际科研与工程项目中的落地应用。; 适合人群:具备一定编程基础和自动化、控制科学、计算机或机器人等相关专业背景的科研人员,特别适用于从事无人机系统、智能优化算法、路径规划及多智能体协同控制研究的硕士、博士研究生及高校研究人员。; 使用场景及目标:① 复现高水平论文中的空地协同路径规划算法;② 构建三维仿真环境开展多无人平台协同任务验证;③ 对比分析不同智能算法在路径规划中的收敛速度、避障能力与路径最优性;④ 支持科研项目申报、实验验证与学术成果产出; 阅读建议:建议读者结合提供的Matlab代码与网盘资料,按照模块逐步实践,重点关注算法实现细节、环境建模过程与参数调优策略,深入理解协同机制与优化目标的设计思路,从而提升科研创新能力与工程实现水平。

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧