-
Kettle:java调用资源库中job停止问题。 10
运行代码,job名为“Job测试01”可以跑起来。但是当我调用job.stop()或job.stopAll()无法停止该job,原因是代码里job重新new了一个,不再是原来的job,现在请教下,kettle是如何保存原先的job的,该怎么去停止该job。
public static void main(String[] args) {
try {
//初始化kettle环境
KettleEnvironment.init();
//创建资源库对象,此时的对象还是一个空对象
KettleDatabaseRepository repository = new KettleDatabaseRepository();
//创建资源库数据库对象,类似我们在spoon里面创建资源库
DatabaseMeta dataMeta = new DatabaseMeta("1111", "Oracle", "Native", "172.16.7.12", "datacache", "1521", "654321", "123456");
//资源库元对象,名称参数,id参数,描述等可以随便定义
KettleDatabaseRepositoryMeta kettleDatabaseMeta = new KettleDatabaseRepositoryMeta("111", "111", "111",dataMeta);
//给资源库赋值
repository.init(kettleDatabaseMeta);
//连接资源库
repository.connect("admin","admin");
//根据变量查找到模型所在的目录对象,此步骤很重要。
RepositoryDirectoryInterface directory = repository.findDirectory("/");
//创建ktr元对象
JobMeta jobMeta = repository.loadJob("Job测试01", directory, null, null);
//创建ktr
Job job = new Job(repository, jobMeta);
System.out.println(job.getJobname()+job.getStatus());
//执行ktr
job.start();
//job.stop();
//等待执行完毕
//trans.waitUntilFinished();
job.waitUntilFinished();
if(job.getErrors()>0)
{
System.err.println("job run Failure!");
}
else
{
System.out.println("job run successfully!");
}
} catch (KettleException e) {
e.printStackTrace();
}
}
运行代码,job名为“Job测试01”可以跑起来。但是当我调用job.stop()或job.stopAll()无法停止该job,原因是代码里job重新new了一个,不再是原来的job,现在请教下,kettle是如何保存原先的job的,该怎么去停止该job。2013年6月27日 11:05
目前还没有答案
相关推荐
在Java中调用Kettle的Job和转换,可以使我们利用Kettle的强大功能同时保持代码的可维护性和灵活性。 首先,Kettle中的Job是工作流的集合,由一系列的步骤组成,用于执行一系列的数据处理任务。而转换...
kettle是一款功能强大的数据集成工具,可以在java应用程序中集成应用,实现调用资源库上和本地的transformation和job。下面是kettle集成应用的详细知识点: 一、kettle资源库的配置 kettle中的Repository是存储元...
3. **Kettle的执行流程**:在Java中调用Kettle,首先需要创建`TransMeta`对象来加载转换的元数据,然后创建`Trans`对象实例化转换。对于作业,对应的是`JobMeta`和`Job`。接着,可以设置任何必要的参数,并通过`...
6. **注意事项**:在Java中调用Kettle时,需要注意线程安全性和资源管理,因为Kettle引擎可能会使用大量的内存和系统资源。此外,正确处理日志和错误输出也很重要,以便于调试和监控。 7. **最佳实践**:为了提高...
为了在Java中调用Kettle,首先需要获取相关的jar包。这些jar包通常包含在Kettle的lib目录下,包括`pentaho-kettle`核心库和其他依赖库。确保包含以下关键jar文件: 1. `kettle-engine.jar`: 包含Kettle引擎,用于...
Kettle提供了丰富的API,使得开发者能够方便地在Java代码中执行转换(Transformation)和作业(Job),从而实现数据提取、清洗、转换和加载等一系列复杂的数据操作。 首先,理解Java调用Kettle的核心在于引入必要的...
Kettle API是Kettle的核心组件之一,它提供了一系列接口和类,使得开发者可以方便地在Java代码中控制Kettle的工作流(Job)和转换(Transformation)。工作流通常用于管理一系列转换,而转换则负责实际的数据操作。 ...
在Java中调用Kettle,我们需要导入相关的jar包,这些包通常包括: 1. `kettle-engine.jar`: 包含了执行Kettle转换和工作流的核心类。 2. `kettle-core.jar`: 提供了Kettle的基础功能和数据类型。 3. `kettle-api....
kettle提供了资源库机制,用于存储和管理Transformation和Job。资源库可以存储在文件系统、数据库或云存储中。下面是一个简单的资源库示例: ```java KettleFileRepositoryMeta repinfo = new ...
资源库是Kettle中存储转换(transformation)和作业(job)的地方。通过资源库可以管理和共享这些数据处理逻辑。创建资源库对象的步骤如下: ```java KettleDatabaseRepository repository = new ...
要成功地在Java中调用Kettle,首先需要获取到相关的jar包。这些jar包提供了Java API,使得能够通过编程方式启动和控制Kettle作业(Job)和转换(Transformation)。在提供的压缩包"java调用kettle需要的jar"中,应...
【Kettle:Java在Kettle作业中的应用】 Kettle,也称为Pentaho Data Integration (PDI),是一款强大的ETL(提取、转换、加载)工具,由社区支持且完全用Java编写。它允许用户通过图形化的界面设计数据处理流程,...
- **执行文件资源库job**:另一个示例方法`callJob`,该方法同样接收作业路径、作业名称、变量和命令行参数作为输入,并执行相应的作业。 #### 三、Java整合Kettle的具体实践 ##### 1. 准备工具 - **安装Kettle*...
要在Java中调用Kettle,你需要以下步骤: 1. **引入依赖**:在Java项目中,你需要添加Kettle的库依赖。这通常通过Maven或Gradle来完成,添加对应的PDI库到你的构建文件中,例如在Maven的pom.xml中添加: ```xml ...
首先,`kettle集成应用之---java调用执行transformation和job.doc`文件详细介绍了如何通过Java API在应用程序中调用Kettle的转换(Transformation)和作业(Job)。转换是Kettle中的基本数据处理单元,由多个步骤...
对于调用Kettle资源库中的Job任务,除了上述步骤外,还需要创建`DatabaseMeta`对象来定义数据库连接,然后通过`rep.loadJob()`方法加载Job的元数据。注意,如果你使用的是Oracle数据库,需要确保类路径包含ojdbc.jar...
3. **编写Java代码**:创建一个Spring Bean,该Bean继承自`org.pentaho.di.core.KettleEnvironment`,并在初始化时调用`KettleEnvironment.init()`方法来初始化Kettle环境。 4. **定义工作流或转换**:通常在Kettle...
【Kettle运行jar及其mvn脚本及配置文件.rar】是一个包含Kettle(Pentaho Data Integration,简称PDI)与Java集成所需资源的压缩包。这个包的主要目的是帮助开发者在Java项目中顺利运行Kettle作业或转换,通过Maven...