如何在Spring中从Java repo触发dbms_scheduler作业?

时间:2018-02-21 01:45:08

标签: java oracle spring-boot jdbctemplate dbms-scheduler

我有一个Oracle DB Scheduler作业,我可以使用命令直接运行:

EXEC dbms_scheduler.run_job('MY_SCHEDULER_JOB');

现在我尝试从我的Java SpringBoot服务调用相同的工作,我在Repo中使用 JDBCTemplate 来运行数据库上的选择和更新查询。

我看过,但没有找到任何有关我如何做到这一点的帮助。非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

我会将SimpleJdbcCall用于此目的

SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(getJdbcTemplate());
simpleJdbcCall
      .withCatalogName("dbms_scheduler")
      .withProcedureName("run_job")
      .execute(new MapSqlParameterSource("JOB_NAME", "MY_SCHEDULER_JOB"));
是的,你可以通过这里

  

作业名称或逗号分隔的条目列表,其中每个都是名称   现有工作

所以这也是有效的案例:

new MapSqlParameterSource("JOB_NAME", "JOB1, JOB2, JOB3")