|
56 | 56 | 5. 进入测试项目target目录下,执行脚本 |
57 | 57 |
|
58 | 58 | ```sh |
59 | | - java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,tlClass=com.shadow.supports.framework.ScheduleService,tlFieldName=JOB_PARAMETERS_THREAD_LOCAL,debug=true,logger=true,crudFieldName=xxxx,crud=true,proxyType=asm,jobType=spring -jar shadow.jar |
| 59 | + java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,jobType=spring -jar shadow.jar |
60 | 60 | ``` |
61 | 61 |
|
62 | 62 | 6. 测试定时任务立即执行及CRUD |
|
126 | 126 |
|
127 | 127 | ```sh |
128 | 128 | # 启动项目 |
129 | | - java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,tlClass=com.shadow.supports.framework.ScheduleService,tlFieldName=JOB_PARAMETERS_THREAD_LOCAL,debug=true,logger=true,crudFieldName=xxxx,crud=true,proxyType=asm,jobType=xxl -jar shadow.jar |
| 129 | + java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,jobType=xxl -jar shadow.jar |
130 | 130 | ``` |
131 | 131 |
|
132 | 132 | ```sh |
|
142 | 142 |
|
143 | 143 | ```sh |
144 | 144 | # 启动项目 |
145 | | - java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,tlClass=com.shadow.supports.framework.ScheduleService,tlFieldName=JOB_PARAMETERS_THREAD_LOCAL,debug=true,logger=true,crudFieldName=xxxx,crud=true,proxyType=asm,jobType=quartz -jar shadow.jar |
| 145 | + java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,jobType=quartz -jar shadow.jar |
146 | 146 | ``` |
147 | 147 |
|
148 | 148 | ```sh |
149 | 149 | # 执行定时任务 [quartzTriggerKey] 为 Trigger Bean,[quartzJob]为 job detail ID |
150 | | - curl -H "Content-Type:application/json" -X POST --data "{\"name\":\"shadow\",\"age\":20}" localhost:50084/shadow/api/system/agent/run/quartzTriggerKey?params=quartzJob |
| 150 | + curl -H "Content-Type:application/json" -X POST --data "{\"name\":\"shadow\",\"age\":20}" localhost:50084/shadow/api/system/agent/run/quartzTriggerKey?params=测试 |
151 | 151 | # 修改 cron 表达式为 0/3 * * * * ? |
152 | 152 | curl localhost:50084/shadow/api/system/agent/crud/1/quartzTriggerKey@quartzJob?cron=0/3%20*%20*%20*%20*%20? |
153 | 153 | ``` |
154 | 154 |
|
155 | 155 | > Quartz 定时任务存在特殊性: |
156 | 156 | > |
157 | | - > - 除了指定 taskKey 的 trigger 外,还需要额外指定 job detail 的 ID,此处使用了 params 请求参数来传递 job detail 的值 |
| 157 | + > - 除了指定 taskKey 的 trigger 外,还需要额外指定 job detail 的 ID,quartzTriggerKey@quartzJob |
158 | 158 | > - 其参数传递不能使用 ThreadLocal 方式,需要使用其 JobDataMap 的方式 |
159 | 159 |
|
160 | 160 | - spring job 测试 |
161 | 161 |
|
162 | 162 | ```sh |
163 | 163 | # 启动项目 |
164 | | - java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,tlClass=com.shadow.supports.framework.ScheduleService,tlFieldName=JOB_PARAMETERS_THREAD_LOCAL,debug=true,logger=true,crudFieldName=xxxx,crud=true,proxyType=asm,jobType=spring -jar shadow.jar |
| 164 | + java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,jobType=spring -jar shadow.jar |
165 | 165 | ``` |
166 | 166 |
|
167 | 167 | ```sh |
|
178 | 178 |
|
179 | 179 | ```sh |
180 | 180 | # 启动项目 |
181 | | - java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,tlClass=com.shadow.supports.framework.ScheduleService,tlFieldName=JOB_PARAMETERS_THREAD_LOCAL,debug=true,logger=true,crudFieldName=xxxx,crud=true,proxyType=asm,jobType=simple -jar shadow.jar |
| 181 | + java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=ctlClass=com.shadow.controller.AgentBaseController,jobType=simple -jar shadow.jar |
182 | 182 | ``` |
183 | 183 |
|
184 | 184 | ```sh |
185 | 185 | # 执行定时任务 [simple1] 为 spring 容器 Bean 名称 |
186 | | - curl localhost:50084/shadow/api/system//agent/run/simple1?testSimple |
| 186 | + curl localhost:50084/shadow/api/system//agent/run/simple1?params=testSimple |
187 | 187 | # 修改 cron 表达式为 0/3 * * * * ? |
188 | 188 | curl localhost:50084/shadow/api/system/agent/crud/1/simple2?cron=0/3%20*%20*%20*%20*%20? |
189 | 189 | ``` |
|
212 | 212 |
|
213 | 213 |
|
214 | 214 |
|
215 | | -#### 8、Attach 机制 - 可动态替换定时任务类型 TODO |
| 215 | +#### 8、Attach 机制 - 可动态替换定时任务类型 |
216 | 216 |
|
217 | 217 | > 测试类:com.shadow.agent.AttachAgentTest |
218 | 218 | > |
219 | | -> ```sh |
220 | | -> originJobType=xxl&jobType=simple&ctlClass=com.shadow.controller.AgentBaseController&methodName=testMethod&iocFieldName=ioc&tlClass=com.shadow.supports.framework.ScheduleService&tlFieldName=JOB_PARAMETERS_THREAD_LOCAL&debug=true |
221 | | -> ``` |
| 219 | +> - IDEA 测试 |
| 220 | +> |
| 221 | +> - 加入启动参数 |
| 222 | +> |
| 223 | +> ```sh |
| 224 | +> # IDEA vm options |
| 225 | +> -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=jobType=xxl,ctlClass=com.shadow.controller.AgentBaseController,jobType=spring,logger=true |
| 226 | +> ``` |
| 227 | +> |
| 228 | +> - 执行 com.shadow.agent.AttachAgentTest |
| 229 | +> |
| 230 | +> > 注意:originJobType 的值是原始定时任务类型,支持重复操作 |
| 231 | +> |
| 232 | +> - jar 测试 |
| 233 | +> |
| 234 | +> - 启动参数 |
| 235 | +> |
| 236 | +> ```sh |
| 237 | +> java -javaagent:本地路径(替换为自己的)\javaagent\target\SuperAgent-jar-with-dependencies.jar=jobType=xxl,ctlClass=com.shadow.controller.AgentBaseController,jobType=spring,logger=true -jar shadow.jar |
| 238 | +> ``` |
0 commit comments