欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何實現(xiàn)java執(zhí)行kettle并傳參數(shù)

 更新時間:2025年01月02日 08:40:12   作者:小宋1021  
文章主要介紹了在審批成功后如何使用Kettle傳遞批次號參數(shù)并執(zhí)行KTR文件,同時,提到了所需的主要POM依賴,并強調(diào)了個人經(jīng)驗的價值,鼓勵大家參考和使用

java執(zhí)行kettle并傳參數(shù)

 @Override
    public void setStatus(String id, Integer bpmStatus) {
        List<LyntglAmmeterInfoDO> lyntglAmmeterInfoDOS = lyntglAmmeterInfoMapper.selectBpmList(id);
        if (lyntglAmmeterInfoDOS != null && lyntglAmmeterInfoDOS.size()>0){
            lyntglAmmeterInfoDOS.forEach(item->{
                item.setStatus(Long.parseLong(bpmStatus.toString()));
                lyntglAmmeterInfoMapper.updateById(item);
            });
        }
        if (bpmStatus == 3){
            if (!lyntglAmmeterInfoDOS.isEmpty()) {
                String subNoBatch = lyntglAmmeterInfoDOS.get(0).getSubBatchNo(); // 假設subnobatch是你需要的參數(shù)
                // 執(zhí)行kettle,傳遞subnobatch參數(shù)
                kettleUtils.runKTR(kettleFileName,subNoBatch);
            }
        }
    }

審批成功后執(zhí)行kettle傳遞批次號參數(shù)

  • runKTR:
    /**
     * @title runKTR
     * @description 執(zhí)行KTR文件
     * @param fileName
     * @param subBatchNo 提交批次號
     * @return Map
     */
    public Map<String,Object> runKTR(String fileName,String subBatchNo) {
        Map<String,Object> map = new HashMap<>();
        int code = 200;
        String msg = "";
        try {
 
            System.setProperty("KETTLE_PLUGIN_CLASSES", "org.pentaho.di.trans.steps.append.AppendMeta");
 
            // 初始化環(huán)境
            KettleEnvironment.init();
 
            TransMeta transMeta = new TransMeta(kettleFilePath+fileName);
            Trans trans = new Trans(transMeta);
 
            // 向作業(yè)中添加參數(shù)-批次號
            trans.setParameterValue("sub_batch_no", subBatchNo);
 
            // 執(zhí)行Kettle作業(yè)
            trans.execute(null);
            trans.waitUntilFinished();
            if (trans.getErrors() > 0) {
                code = 500;
                msg = "KTR failed with errors.";
            }
            msg = "KTR executed successfully.";
        } catch (KettleException e) {
            msg = "Error-KTR: " + e.getMessage();
        }
        map.put("code",code);
        map.put("msg",msg);
        return map;
    }
  • 需要的pom依賴:
      <!-- 關聯(lián)kettle -->
        <dependency>
            <groupId>pentaho-kettle</groupId>
            <artifactId>kettle-core</artifactId>
        </dependency>
        <dependency>
            <groupId>pentaho-kettle</groupId>
            <artifactId>kettle-engine</artifactId>
        </dependency>
     <dependency>
            <groupId>org.pentaho.di.plugins</groupId>
            <artifactId>pdi-core-plugins-impl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java如何獲取JSON中某個對象的值

    Java如何獲取JSON中某個對象的值

    這篇文章主要介紹了Java如何獲取JSON中某個對象的值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java中的LinkedHashMap源碼詳解

    Java中的LinkedHashMap源碼詳解

    這篇文章主要介紹了Java中的LinkedHashMap源碼詳解,LinkedHashMap的實現(xiàn)方式是將所有的Entry節(jié)點鏈入一個雙向鏈表,并且它的底層數(shù)據(jù)結構是HashMap,因此,LinkedHashMap具有HashMap的所有特性,但在存取元素的細節(jié)實現(xiàn)上有所不同,需要的朋友可以參考下
    2023-09-09
  • Mybatis中Mapper映射文件使用詳解

    Mybatis中Mapper映射文件使用詳解

    這篇文章主要介紹了Mybatis中Mapper映射文件使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • java開發(fā)只要tomcat設計模式用的好下班就能早

    java開發(fā)只要tomcat設計模式用的好下班就能早

    這篇文章主要為大家介紹了java開發(fā)只要tomcat設計模式的示例詳解,<BR>只要設計模式用的好下班就能早,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Java中的Rocketmq事務消息詳解

    Java中的Rocketmq事務消息詳解

    這篇文章主要介紹了Java中的Rocketmq事務消息詳解,RocketMQ的事務消息支持在業(yè)務邏輯與發(fā)送消息之間提供事務保證,RocketMQ通過兩階段的方式提供事務消息的支持,需要的朋友可以參考下
    2023-08-08
  • 關于JAVA_HOME路徑修改之后JDK的版本依然不更改的解決辦法

    關于JAVA_HOME路徑修改之后JDK的版本依然不更改的解決辦法

    今天小編就為大家分享一篇關于JAVA_HOME路徑修改之后JDK的版本依然不更改的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Java 實現(xiàn)簡單Socket 通信的示例

    Java 實現(xiàn)簡單Socket 通信的示例

    這篇文章主要介紹了Java 實現(xiàn)簡單Socket 通信的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-03-03
  • 我用java實現(xiàn)了王者榮耀的皮膚和英雄技能

    我用java實現(xiàn)了王者榮耀的皮膚和英雄技能

    上篇文章主要實現(xiàn)了創(chuàng)建英雄,創(chuàng)建野怪,創(chuàng)建裝備.并且實現(xiàn)了簡單的刷怪,購買裝備等.本篇文章我優(yōu)化了我的操作界面,并且實現(xiàn)了英雄技能,英雄皮膚等,需要的朋友可以參考下
    2021-05-05
  • Java實現(xiàn)微信網(wǎng)頁授權的示例代碼

    Java實現(xiàn)微信網(wǎng)頁授權的示例代碼

    這篇文章主要介紹了Java實現(xiàn)微信網(wǎng)頁授權的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Struts2的輸入校驗實例代碼

    Struts2的輸入校驗實例代碼

    這篇文章主要介紹了Struts2的輸入校驗實例代碼,非常不錯,具有參考借鑒價值, 需要的朋友可以參考下
    2017-03-03

最新評論