使用CMD启动JAR后,出现定时器不执行问题

在SpringBoot项目里,用@Scheduled注解开启定时任务,在Windows系统启动时,执行到输出控制台日志时,线程有时会卡住。经排查是CMD快速编辑导致线程阻塞。解决办法一是将打印日志异步提交,二是取消CMD的快速编辑功能。

SpringBoot项目中,使用了@Scheduled注解开启一个定时任务,在windows系统启动时,开始输出正常,当执行到输出控制台日志时,有时候会直接卡住线程不执行了;查了一圈发现是CMD的快速编辑引起的线程阻塞;

解决办法:

1.将打印日志使用异步方式提交;

2.设置CMD,取消快速编辑功能;(右键窗口)

 

根据开源组件fastbot设计一个可视化的monkey测试工具,开发使用PyCharm工具、python语言,并要求打包在没有python的环境下也能使用jar、libs等文件已下载): 执行fastbot测试的初始启动指令: adb -s 设备号 shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar:/sdcard/fastbot-thirdpart.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p 包名 --agent reuseq --running-minutes 遍历时长 --throttle 事件频率 -v -v 详细功能设计要求如下 1.设备管理模块:通过指令“adb devices”获取当前连接设备。 (1)每次进入工具时获取一次设备状态,进入工具后主动刷新,有“刷新设备“按钮,点击刷新重新获取设备状态。 (2)点击可以选中测试设备,可单选/可多选,可取消选择,选择后设备状态显示 “√”的UI效果表示已选中。 2.文件推送模块: (1)下拉切换同类型的文件推送:默认的推送(jar文件、libs文件、XX配置文件)、自定义文件推送。——jar文件和libs文件需注明,首次使用必须推送。 (2)自定义推送时只显示:adb push “推送文件地址“ “推送设备地址“。详细的地址用户手动输入。 (3)默认推送时,选择后自动填充默认的文件路径,需要用户手动输入。例如选择jar文件推送,推送命令就是adb push C/user/1.jar /sdcard。 (4)需要推送的各个文件也需保存在项目下。 (5)项目的配置文件应支持跳转,点击“进入配置文件”按钮,可跳转配置文件保存路径吗,配置文件支持用户手动修改。 3.测试参数设置模块: (1)必选参数:应用包名(默认填入com.android.camera-用户可手动修改)、测试时长-单位min、测试事件间隔-单位ms。——根据设置的必填测试参数输出对应的fastbot启动指令。 (2)可选参数: --bugreport(崩溃时保存bug report log) --output-directory /sdcard/test/log/crash(另存目录) --act-whitelist-file /sdcard/awl.strings(只覆盖白名单内的activity) --act-blacklist-file /sdcard/abl.strings(黑名单内的activity覆盖)备注:黑白名单能同时配置,按照非黑即白原则。 ————如要执行对应功能测试,需在运行启动命令添加对应参数。 启动命令示例,添加白名单测试: adb -s 设备号 shell CLASSPATH=/sdcard/monkeyq.jar:/sdcard/framework.jar:/sdcard/fastbot-thirdpart.jar exec app_process /system/bin com.android.commands.monkey.Monkey -p 包名 --agent reuseq --act-whitelist-file /sdcard/awl.strings --running-minutes 遍历时长 --throttle 事件频率 -v -v。 4.开始/停止测试UI: (1)根据必选和可选的参数设置,生成启动指令。并且要显示出最终生成的启动指令,启动指令自动生成后仍支持手动修改。 (2)启动指令确认无误,点击“开始测试”按钮推送命令,开始执行测试。 (3)测试执行中可以点击按钮停止测试,停止指令:adb shell pkill -f "monkey”/ adb shell ps | grep monkey。 5.日志输出模块:显示一个cmd信息窗口打印区域,实时显示终端打印的测试内容,及推送的adb测试命令信息。 6.测试报告: (1)根据fastbot的测试结果,测试覆盖率、测试时长、出现问题数等出具一个简单的测试结果报告txt。 (2)如有问题log,根据命令及默认的保存路径,可手动选择将其pull到电脑。 (3)生成的测试报告和拉取日志要提示保存地址路径。 ————根据要求输出完整的设计,及详细的执行步骤、各个步骤下的操作及命令说明详细。最后输出完整的代码,要有任何简化,各个文件的代码分步骤输出。
最新发布
04-22
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值