java kettle job,kettle java job

这段代码展示了如何在Java中调用本地job文件以及从资源库中执行job。通过初始化Kettle环境,设置日志,加载job元数据,创建job实例并执行,最后等待job完成。提供了两种方式,一种是直接执行本地job文件,另一种是从资源库中获取job并执行。
摘要由CSDN通过智能技术生成

场景:kettle 三:java调用job

kettle 3:java调用job

/**

* 调用本地job

*

* @param jobFileName

* job文件路径

* @throws KettleException

*/

public void callNativeJob(String jobFileName) throws KettleException {

// 初始化

EnvUtil.environmentInit();

JobEntryLoader.init();

StepLoader.init();

// 日志

LogWriter log = LogWriter.getInstance("TransTest.log", true,

LogWriter.LOG_LEVEL_DETAILED);

// job元对象

JobMeta jobMeta = new JobMeta(log, jobFileName, null);

// job

Job job = new Job(log, StepLoader.getInstance(), null, jobMeta);

jobMeta.setInternalKettleVariables(job);

// 执行job

job.execute();

// 等待job执行结束

job.waitUntilFinished();

}

/**

* 调用资源库中的job

*

* @throws KettleException

*/

public void executeJobs() throws KettleException {

// 初始化

EnvUtil.environmentInit();

JobEntryLoader.init();

StepLoader.init();

// 日志

LogWriter log = LogWriter.getInstance("TransTest.log", true,

LogWriter.LOG_LEVEL_DETAILED);

// 用户

UserInfo userInfo = new UserInfo();

userInfo.setLogin("admin");

userInfo.setPassword("admin");

// 数据库连接元对象

DatabaseMeta connection = new DatabaseMeta("merit113", "Oracle",

"Native", "localhost", "merit113", "1521", "kettle", "merit");

// 资源库元对象

RepositoryMeta repinfo = new RepositoryMeta();

repinfo.setConnection(connection);

// 资源库

Repository rep = new Repository(log, repinfo, userInfo);

// 连接资源库

rep.connect("");

// 资源库目录对象

RepositoryDirectory dir = new RepositoryDirectory(rep);

// 步骤加载对象

StepLoader steploader = StepLoader.getInstance();

// job元对象

JobMeta jobmeta = new JobMeta(log, rep, "job1", dir);

// job

Job job = new Job(log, steploader, rep, jobmeta);

// 执行job

job.execute();

// 等待job执行结束

job.waitUntilFinished();

}

1 楼

hepei120

2012-06-12

想问一下如果stop job

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值