当前位置: 首页 > wzjs >正文

专注苏州网站优化建立网站的阶段

专注苏州网站优化,建立网站的阶段,深喘旋磨做紧夹断妖精网站,网站建设考察试卷method_name 字段是定时任务系统中用于指定执行方法的配置项,通常与 bean_name 字段配合使用,实现更灵活的任务调度。以下是详细解释:一、字段作用在 sys_job 表中:bean_name:指定 Spring 容器中的 Bean 名称&#xff…

method_name 字段是定时任务系统中用于指定执行方法的配置项,通常与 bean_name 字段配合使用,实现更灵活的任务调度。以下是详细解释:

一、字段作用

在 sys_job 表中:

  • bean_name:指定 Spring 容器中的 Bean 名称(对应具体的 Service/Component)。
  • method_name:指定该 Bean 中要执行的方法名。

组合效果
系统会根据这两个字段,通过反射机制调用指定 Bean 的指定方法,实现动态任务执行。

二、使用场景

假设你有多个不同的定时任务逻辑(如数据同步、报表生成、文件清理),可以通过配置 bean_name 和 method_name 指向不同的处理方法,而不需要为每个任务创建单独的 Job 类。

三、代码实现示例

1. 修改实体类 SysJob

java

@Data
@TableName("sys_job")
public class SysJob {// 其他字段...private String beanName;    // 执行类名(Bean)private String methodName;  // 执行方法名
}
2. 扩展任务执行类 SampleJob
@Component
public class SampleJob extends QuartzJobBean {@Autowiredprivate ApplicationContext applicationContext;  // Spring 上下文@Overrideprotected void executeInternal(JobExecutionContext context) throws JobExecutionException {// 获取任务配置JobDataMap dataMap = context.getJobDetail().getJobDataMap();String beanName = dataMap.getString("beanName");String methodName = dataMap.getString("methodName");String execParams = dataMap.getString("execParams");try {// 通过 Bean 名称获取实例Object bean = applicationContext.getBean(beanName);// 通过反射调用方法Method method = bean.getClass().getMethod(methodName, String.class);method.invoke(bean, execParams);System.out.println("执行方法: " + beanName + "." + methodName);} catch (Exception e) {throw new JobExecutionException("任务执行失败", e);}}
}
3. 服务层传递参数

在 SysJobService.addJob() 中,将 beanName 和 methodName 存入 JobDataMap:

java

JobDetail jobDetail = JobBuilder.newJob(SampleJob.class).usingJobData("beanName", job.getBeanName()).usingJobData("methodName", job.getMethodName()).usingJobData("execParams", job.getExecParams()).build();

四、实际应用示例

假设你有一个 DataService 负责不同的数据处理:

java

@Service("dataService")
public class DataService {// 方法1:同步供应商数据public void syncSupplierData(String params) {System.out.println("同步供应商数据: " + params);// 实际逻辑...}// 方法2:生成销售报表public void generateReport(String params) {System.out.println("生成报表: " + params);// 实际逻辑...}
}

在数据库中配置任务时:

bean_namemethod_nameexec_params
dataServicesyncSupplierData{"url":"http://..."}
dataServicegenerateReport{"date":"2023-01"}

五、优势与注意事项

  1. 优势

    • 灵活性:无需修改代码,通过配置即可切换执行逻辑。
    • 可维护性:集中管理任务配置,避免创建大量 Job 类。
  2. 注意事项

    • 方法签名:所有被调用的方法需保持相同的参数类型(如示例中的 String)。
    • 安全性:避免暴露敏感方法,防止通过配置文件执行任意代码。
    • 异常处理:反射调用可能抛出多种异常,需在 SampleJob 中完善异常处理。

六、与原代码的结合

如果你的系统已使用固定的 SampleJob 类,可以通过以下方式兼容两种模式:

java

@Override
protected void executeInternal(JobExecutionContext context) {JobDataMap dataMap = context.getJobDataMap();// 模式1:通过 beanName + methodName 反射调用if (dataMap.containsKey("beanName") && dataMap.containsKey("methodName")) {// 反射调用逻辑...} // 模式2:使用固定 Job 类逻辑else {String filePath = dataMap.getString("filePath");// 执行原有逻辑...}
}

总结

method_name 字段允许你通过配置动态指定要执行的方法,使定时任务系统更加灵活。结合 bean_name 字段,可以实现 “一个任务类,多种执行逻辑” 的效果,适用于需要频繁变更任务逻辑的场景。


文章转载自:

http://fRDvoU9h.Lgtcg.cn
http://dXcUhkqL.Lgtcg.cn
http://xdK2gIlh.Lgtcg.cn
http://wU1WQnk4.Lgtcg.cn
http://O2OGsd4V.Lgtcg.cn
http://VVTxqtzJ.Lgtcg.cn
http://1i7bsuHS.Lgtcg.cn
http://AmGxlmpe.Lgtcg.cn
http://g5YGgZWl.Lgtcg.cn
http://ALnxCknP.Lgtcg.cn
http://k8xh5Ijk.Lgtcg.cn
http://ZnbAlIj6.Lgtcg.cn
http://4MkLqJo2.Lgtcg.cn
http://GyO4NFib.Lgtcg.cn
http://bAqC3K2Q.Lgtcg.cn
http://Iy7NfJVy.Lgtcg.cn
http://eBGAV8f6.Lgtcg.cn
http://58oGiUBR.Lgtcg.cn
http://mTEi454K.Lgtcg.cn
http://RZ36N0hJ.Lgtcg.cn
http://mxAX4Sc9.Lgtcg.cn
http://utd8KZ4w.Lgtcg.cn
http://cZ4bsuu8.Lgtcg.cn
http://wZs0SjrN.Lgtcg.cn
http://3PEmjlNA.Lgtcg.cn
http://yBSKstP3.Lgtcg.cn
http://dN0x5d7K.Lgtcg.cn
http://fzKsFP5J.Lgtcg.cn
http://QdxTU60V.Lgtcg.cn
http://Cz8TlfdN.Lgtcg.cn
http://www.dtcms.com/wzjs/648271.html

相关文章:

  • 网站建设的必要性wordpress可以制作app
  • 银川做网站的公司上海网站建设方案
  • 尤溪网站开发网站seo优化方案设计
  • 手机制作购物网站电子外发加工网
  • 无锡市无锡市住房和城乡建设局网站wordpress iis设置方法
  • 网站建设报价表广西金水建设开发有限公司网站
  • wordpress 整站打包北京企业网站模板建站开发
  • 梧州市建设局网站终身免费网站建设
  • 湛江做网站哪家好珠海网红打卡景点
  • 佛山市顺德区建设局网站网站开发运营工作总结
  • 精品课程网站开发的开题报告关于建设公司网站的议题
  • 网站空间到期怎么续费wordpress建立目录
  • html5做网站导航易企秀怎么制作
  • 东昌府聊城网站优化关键词包括哪些内容
  • 企业网站的开发网页怎么建设
  • 怎么做网站主证件照片制作软件免费下载
  • 查询网站建立时间跳转到手机网站
  • 吉野家网站谁做的如果熊掌号做的不好会不会影响网站
  • 织梦网站网上商城怎么推广
  • php驾校网站源码wordpress 免签约支付宝
  • 免费网站软件下载大全2018王健林亏60亿做不成一个网站
  • 域名对网站有什么影响微信开放平台注册
  • 示范高校建设网站柳州网站建设11
  • 住房和城乡建设部网站公告佛山网站建设报价
  • 网站建设售后协议wordpress取消categore
  • 毕业设计网站建设软件项目一级建设造师网站
  • 用深度liunx做网站第一ppt课件免费下载官网
  • 百度站长平台安卓版电子商务网站建设的盈利模式
  • 做移动网站优化软件实力网站优化公司首选
  • 百度站长提交网址官方小程序