文档章节

KettleEasyExpand

马进举
 马进举
发布于 2017/07/04 19:56
字数 828
阅读 4511
收藏 9

插件简介

一个简化kettle插件开发的通用插件,采用JSON作为参数配置,省去ui调试设计步骤,只需一个类就可以开发一个插件。基于本插件开发的插件将很容易集成到kettle管理平台中去。

设计初衷

该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义功能的实现改为在eclipse等ide中开发。

设计本插件的原因是直接在kettle中写java代码是很不容易的事,开发体验与eclipse差得远,java语法还要受到限制,调试麻烦。实现点简单的逻辑还行,稍微复杂一点就比较麻烦,需要对java和kettle相关接口很熟悉。而简单的功能可以采用javascript脚本实现,复杂的功能一般人很难直接在自定义java类控件中编写java实现。

有人说可以每次直接开发新插件,虽然说java的插件机制还是很不错的,但开发一个插件还是没那么容易的,需要设计元数据,插件件功能实现,插件操作界面设计等,其中操作界面的调整是我最不愿意花时间的,慢慢调我也能调出常见控件的配置界面,但我觉得没必要,所以要实现一个完善的插件需要做的事情还是很多的。

而本插件综合了以上两种机制,既有自定义java类的简单性,直接编写核心业务代码,操作界面统一使用一个JSON对象作为参数设置途径,所以基于此开发功能,只需继承一个基类而编写一个功能实现类就可以了;又有直接开发插件的便捷性,只需将相关的jar包作为用户类库导入项目,创建一个类,继承基类,就可以在eclipse中尽情的编写你的业务代码了。

关键信息

  1. 项目博客地址
  2. 项目源码地址
  3. 问题反馈邮箱:jinjuma@yeah.net。

插件部署

插件开发

环境搭建

  1. 在eclipse中创建用户类库ku,到kettle管理平台项目介绍的博文中下载0.2.0版部署包,然后将部署包的lib目录中的jar全部加入。
  2. 在eclipse中创建用户类库kettleLib,将你的kettle的目录下的lib全部加入。
  3. 在eclipse中创建一个java项目,添加前面创建的两个用户类库到构建路径。
  4. 然后就可以新建一个java类,按后面的步骤进行插件开发了。

作业插件开发

示例代码

image

转换插件开发

示例代码

image

插件调试

  1. kettle源码运行讲解
  2. kettle源码工程

© 著作权归作者所有

共有 人打赏支持
马进举
粉丝 32
博文 6
码字总数 7987
作品 1
遂宁

暂无文章

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
29
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
27
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
33
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
20
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部