0 0

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
目前还没有答案

相关推荐

    kettle集成应用之---java调用执行transformation和job

    kettle是一款功能强大的数据集成工具,可以在java应用程序中集成应用,实现调用资源库上和本地的transformation和job。下面是kettle集成应用的详细知识点: 一、kettle资源库的配置 kettle中的Repository是存储元...

    java调用kettle中的job与转换-源码

    在Java中调用Kettle的Job和转换,可以使我们利用Kettle的强大功能同时保持代码的可维护性和灵活性。 首先,Kettle中的Job是工作流的集合,由一系列的步骤组成,用于执行一系列的数据处理任务。而转换...

    java调用kettle的依赖包

    3. **Kettle的执行流程**:在Java中调用Kettle,首先需要创建`TransMeta`对象来加载转换的元数据,然后创建`Trans`对象实例化转换。对于作业,对应的是`JobMeta`和`Job`。接着,可以设置任何必要的参数,并通过`...

    java调用Kettle引用jar包.zip

    为了在Java中调用Kettle,首先需要获取相关的jar包。这些jar包通常包含在Kettle的lib目录下,包括`pentaho-kettle`核心库和其他依赖库。确保包含以下关键jar文件: 1. `kettle-engine.jar`: 包含Kettle引擎,用于...

    java调用Kettle5.3任务

    6. **注意事项**:在Java中调用Kettle时,需要注意线程安全性和资源管理,因为Kettle引擎可能会使用大量的内存和系统资源。此外,正确处理日志和错误输出也很重要,以便于调试和监控。 7. **最佳实践**:为了提高...

    java调用kettle需要的jar包

    Kettle提供了丰富的API,使得开发者能够方便地在Java代码中执行转换(Transformation)和作业(Job),从而实现数据提取、清洗、转换和加载等一系列复杂的数据操作。 首先,理解Java调用Kettle的核心在于引入必要的...

    java调用kettle提供的API实现数据抽取DEMO

    Kettle API是Kettle的核心组件之一,它提供了一系列接口和类,使得开发者可以方便地在Java代码中控制Kettle的工作流(Job)和转换(Transformation)。工作流通常用于管理一系列转换,而转换则负责实际的数据操作。 ...

    java调用Kettle引用jar包2.zip

    在Java中调用Kettle,我们需要导入相关的jar包,这些包通常包括: 1. `kettle-engine.jar`: 包含了执行Kettle转换和工作流的核心类。 2. `kettle-core.jar`: 提供了Kettle的基础功能和数据类型。 3. `kettle-api....

    Java代码调用kettle任务.pdf

    kettle提供了资源库机制,用于存储和管理Transformation和Job。资源库可以存储在文件系统、数据库或云存储中。下面是一个简单的资源库示例: ```java KettleFileRepositoryMeta repinfo = new ...

    java调用kettle_api_jar包依赖.zip

    4. `pentaho-kettle-plugins-common-ui.jar`和其他相关的UI插件库:如果需要在Java程序中展示Kettle的用户界面元素,这些库可能包含必要的类和资源。 5. `pentaho-metadata.jar`:处理元数据的库,对于ETL过程中的...

    用java调用kettle设计包含源代码

    资源库是Kettle中存储转换(transformation)和作业(job)的地方。通过资源库可以管理和共享这些数据处理逻辑。创建资源库对象的步骤如下: ```java KettleDatabaseRepository repository = new ...

    java调用kettle所需要的jar

    要成功地在Java中调用Kettle,首先需要获取到相关的jar包。这些jar包提供了Java API,使得能够通过编程方式启动和控制Kettle作业(Job)和转换(Transformation)。在提供的压缩包"java调用kettle需要的jar"中,应...

    kettle:Java for Kettle Job

    【Kettle:Java在Kettle作业中的应用】 Kettle,也称为Pentaho Data Integration (PDI),是一款强大的ETL(提取、转换、加载)工具,由社区支持且完全用Java编写。它允许用户通过图形化的界面设计数据处理流程,...

    java调ktr或kjb

    要在Java中调用Kettle,你需要以下步骤: 1. **引入依赖**:在Java项目中,你需要添加Kettle的库依赖。这通常通过Maven或Gradle来完成,添加对应的PDI库到你的构建文件中,例如在Maven的pom.xml中添加: ```xml ...

    Java整合Kettle使用.docx

    - **执行文件资源库job**:另一个示例方法`callJob`,该方法同样接收作业路径、作业名称、变量和命令行参数作为输入,并执行相应的作业。 #### 三、Java整合Kettle的具体实践 ##### 1. 准备工具 - **安装Kettle*...

    Java代码调用kettle任务[参考].pdf

    对于调用Kettle资源库中的Job任务,除了上述步骤外,还需要创建`DatabaseMeta`对象来定义数据库连接,然后通过`rep.loadJob()`方法加载Job的元数据。注意,如果你使用的是Oracle数据库,需要确保类路径包含ojdbc.jar...

    Kettle中文教程(含3.2中文教程,API调用说明等)

    首先,`kettle集成应用之---java调用执行transformation和job.doc`文件详细介绍了如何通过Java API在应用程序中调用Kettle的转换(Transformation)和作业(Job)。转换是Kettle中的基本数据处理单元,由多个步骤...

    springboot整合kettle项目源码

    3. **编写Java代码**:创建一个Spring Bean,该Bean继承自`org.pentaho.di.core.KettleEnvironment`,并在初始化时调用`KettleEnvironment.init()`方法来初始化Kettle环境。 4. **定义工作流或转换**:通常在Kettle...

Global site tag (gtag.js) - Google Analytics