zoukankan      html  css  js  c++  java
  • 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();
    
    	}
    

    手机扫一扫,欢迎关注公众号

    关注程序员成长

    成长的乐趣,在于分享!
    大龄程序员,一路走来,感慨颇多。闲暇时写写字,希望能给同行人一点帮助。
    本文版权归作者growithus和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    回归cnblog
    第一篇博文
    apache 配置网站目录,虚拟目录,新端口
    linux 虚拟机设置IP访问外网
    Volist标签 key值的使用
    php header调试,yii2打log
    Yii2 框架下bootstrap 弹窗预览视频等~
    几个简单的css设置问题:div居中,ul li不换行 ,内容超出自动变省略号等
    鼠标右键弹窗(实现重命名等)的设计
    HTML5 Canvas绘图系列之一:圆弧等基础图形的实现
  • 原文地址:https://www.cnblogs.com/growithus/p/11012314.html
Copyright © 2011-2022 走看看