在Kettle中,我们知道Spoon是其中最重要的一个组件。它可以让我们以图形化的方式开发转换和作业等工作。
在spoon中Kettle采用了Xul界面技术和Swt相结合的方式进行图形界面的开发。
启动流程
1)首先程序在启动时会创建一个spoon.log日志
Path parent = Paths.get( System.getProperty( "user.dir" ) + File.separator + "logs" );
Path path = Files.createFile( Paths.get( parent.toString(), "spoon.log" ) );
final FileOutputStream fos = new FileOutputStream( path.toFile() );
System.setOut( new PrintStream( new TeeOutputStream( originalSystemOut, fos ) ) );
System.setErr( new PrintStream( new TeeOutputStream( originalSystemErr, fos ) ) );
KettleLogStore.OriginalSystemOut = System.out;
KettleLogStore.OriginalSystemErr = System.err;
2)接下来将会使用一个单独的线程来执行环境初始化的过程。包括插件类类型的注册和用类加载器加载插件类等。