Azkaban的任务类型分析35:JavaProcessJob的执行
2016-04-12 00:00
776 查看
我们知道,在azkaban内部有好几种调度程序,那么一个java程序怎么被执行的呢?================================================================其实更完整的是下面我们来探索JavaProcessJob类型job的执行过程!jdb azkaban.execapp.AzkabanExecutorServer
-conf /root/azkb/azkaban_3.
0
.0_debug/conf
stop in azkaban.jobExecutor.JavaProcessJob.HelloWorld
run
=========================================================================================================private void loadDefaultTypes(JobTypePluginSet plugins) throws JobTypeManagerException {logger.info("Loading plugin default job types");plugins.addPluginClass("command", ProcessJob.class);plugins.addPluginClass("javaprocess", JavaProcessJob.class);plugins.addPluginClass("noop", NoopJob.class);plugins.addPluginClass("python", PythonJob.class);plugins.addPluginClass("ruby", RubyJob.class);plugins.addPluginClass("script", ScriptJob.class);}=========================================================================================================关于classPath的路径protected List<String> getClassPaths() {//List<String> classPaths = getJobProps().getStringList(CLASSPATH, null, ",");ArrayList<String> classpathList = new ArrayList<String>();// Adding global properties used system wide.//if (getJobProps().containsKey(GLOBAL_CLASSPATH)) {List<String> globalClasspath = getJobProps().getStringList(GLOBAL_CLASSPATH);for (String global : globalClasspath) {getLog().info("Adding to global classpath:" + global);classpathList.add(global);}}//if (classPaths == null) {File path = new File(getPath());// File parent = path.getParentFile();getLog().info("No classpath specified. Trying to load classes from " + path);if (path != null) {for (File file : path.listFiles()) {if (file.getName().endsWith(".jar")) {// log.info("Adding to classpath:" + file.getName());classpathList.add(file.getName());}}}} else {classpathList.addAll(classPaths);}return classpathList;}一个可用的是commands = "[java -Dazkaban.flowid=javaprocess -Dazkaban.execid=193 -Dazkaban.jobid=javaprocess -Xms64M -Xmx256M -cp javaProcessTest.jar javaProcessTest.test]"
相关文章推荐
- azkaban简介
- Azkaban-任务调度管理器
- Azkaban的Web Server源码探究系列6: alerters及插件机制分析
- Azkaban的Web Server源码探究系列7: ExecutorManager的初始化
- Azkaban的Web Server源码探究系列8: 水文一篇
- Azkaban的Web Server源码探究系列9: Servlet引擎初始化
- Azkaban的Web Server源码探究系列10 : /对应的servlet解析
- Azkaban的Web Server源码探究系列11: 登陆对应的servlet解析
- Azkaban的Web Server源码探究系列12: 首页之前的跳转
- Azkaban的Web Server源码探究系列13:首页/index的内容获取
- Azkaban的Web Server源码探究系列14:创建Project
- Azkaban的Web Server源码探究系列15:使用过程中几个需注意的配置&3.0中丢失的文件
- Azkaban的Web Server源码探究系列16:跳转Project
- Azkaban的Web Server源码探究系列17:Creating Flows
- Azkaban的Web Server源码探究系列19:loadProjectFromDir&Chek
- Azkaban的Web Server源码探究系列20:resolve&buildFlow
- Azkaban的Web Server源码探究系列21: Flow执行前的准备工作
- Azkaban的Web Server源码探究系列22: 一次性执行execute的提交准备
- Azkaban的Web Server源码探究系列23: 一次性执行execute的正式提交
- Azkaban的Web Server源码探究系列24: 一次性执行execute任务取出处理