我们知道,在azkaban内部有好几种调度程序,那么一个java程序怎么被执行的呢?

================================================================

其实更完整的是

下面我们来探索JavaProcessJob类型job的执行过程!

jdb azkaban.execapp.AzkabanExecutorServer-conf  /root/azkb/azkaban_3.0.0_debug/conf

stop in azkaban.jobExecutor.JavaProcessJob.HelloWorld

run

=========================================================================================================

privatevoidloadDefaultTypes(JobTypePluginSetplugins)throwsJobTypeManagerException {

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的路径

protectedList getClassPaths() {

//

ListclassPaths= getJobProps().getStringList(CLASSPATH,null,",");

ArrayListclasspathList=newArrayList();

// Adding global properties used system wide.

//

if(getJobProps().containsKey(GLOBAL_CLASSPATH)) {

ListglobalClasspath= getJobProps().getStringList(GLOBAL_CLASSPATH);

for(Stringglobal:globalClasspath) {

getLog().info("Adding to global classpath:"+global);

classpathList.add(global);

}

}

//

if(classPaths==null) {

Filepath=newFile(getPath());

// File parent = path.getParentFile();

getLog().info("No classpath specified. Trying to load classes from "+path);

if(path!=null) {

for(Filefile:path.listFiles()) {

if(file.getName().endsWith(".jar")) {

// log.info("Adding to classpath:" + file.getName());

classpathList.add(file.getName());

}

}

}

}else{

classpathList.addAll(classPaths);

}

returnclasspathList;

}

一个可用的是

commands = "

[

java -Dazkaban.flowid=javaprocess -Dazkaban.execid=193 -Dazkaban.jobid=javaprocess -Xms64M -Xmx256M -cp javaProcessTest.jar javaProcessTest.test

]"

azkaban 与 java任务_Azkaban的任务类型分析35:JavaProcessJob的执行相关推荐

  1. azkaban 与 java任务_azkaban任务报错java.lang.RuntimeException: The root scratch dir: /tmp/hive...

    azkaban运行任务的时候失败报错如下: 23-03-2016 08:16:14 CST analyzer-kafka2hdfs_new ERROR - Exception in thread &q ...

  2. Java通过泛型的模板类型实例化对象

    Java通过泛型的模板类型实例化对象 最近自己研究了下mvvm框架,使用泛型的方式可节省很多代码,并且可以合并很多冗余代码,为了最大化的精简代码想到了通过泛型的type用反射的方式实例化对象,这样对象 ...

  3. java创建node类型数据类型_[Java教程]js DOM Node类型

    [Java教程]js DOM Node类型 0 2015-12-18 16:00:08 DOM(文档对象模型)是针对HTML和 DOM可以将任何HTML或 以下面为例: My article Hell ...

  4. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  5. java动态语言_java动态类型语言支持(三)

    invokedynamic指令 在前面java动态类型语言支持(一)(二)中我们有提到invokedynamic指令和java.lang.invoke包中的MethodHandle机制,在某种程度上他 ...

  6. java的数据类型、变量类型笔记总结

    1. 引用类型 在Java中,引用类型的变量非常类似于C/C++的指针.引用类型指向一个对象,指向对象的变量是引用变量.这些变量在声明时被指定为一个特定的类型,比如 Employee.Puppy 等. ...

  7. java char类型空值_展望Java的未来:空值类型

    java char类型空值 尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情. 诚然,由于 ...

  8. 展望Java的未来:空值类型

    尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情. 诚然,由于我对所用术语的了解有限,并且 ...

  9. java类型转换答案,在java中支持两种类型的类型转换,自动类型转换和强制类型转换。父类转化为子类需要强制转换。...

    在java中支持两种类型的类型转换,自动类型转换和强制类型转换.父类转化为子类需要强制转换. 更多相关问题 计算机病毒通过()传染扩散得极快,危害最大. 当一个现象的数量由小变大,另一个现象的数量相反 ...

最新文章

  1. YTU 2899: D-险恶逃生 I
  2. Mysql 755和750权限,chmod 755 究竟是什么鬼?
  3. php正则过滤html标签_空格_换行符的代码,php正则过滤html标签、空格、换行符的代码(附说明)_php技巧...
  4. 乐高机器人亮剑_2500名选手大比拼 全球机器人广州从化“亮剑”
  5. 一个设置ip的vbs脚本
  6. JavaScript实现接口的三种经典方式
  7. 开启防火墙web服务器访问权限 开启必要端口共外部使用
  8. Shell-find+exec
  9. 怎样把Image数据放入数据库
  10. 记一个java和php都能调用的http接口
  11. php伪随机数 ctf,[GWCTF 2019]枯燥的抽奖
  12. python代码写龙卷风_python-打开网站时龙卷风403获取警告
  13. 3.Ubuntu/Deepin下安装Monaco/Menlo字体
  14. 利用mongodb实现分布式WEB图片存储
  15. 中南大学计算机软件专业曾进,中南大学_2012年校级优秀毕业生名单
  16. yml文件中${}的使用
  17. Unity3D中 使模型变成变透明
  18. 计算起始时间与结束时间之间有哪些月份和周数
  19. Google glog
  20. 如何用SSH连接华为云

热门文章

  1. IAS的工作原理(一)作为 RADIUS 服务器的 IAS
  2. SQL应用中级指南 Part4:(数据字典)
  3. jdk动态代理和cglib动态代理的区别
  4. (翻译)Quartz官方教程——第七课:TriggerListeners 和 JobListeners
  5. 博客已经迁移至 http://barretlee.com/entry/,时而同步分享到这里
  6. SHELL学习——退出状态、测试(整数\字符串\ 文件\逻辑运算符)
  7. 树中数据间关系整理~节点关系及用途解析及常用术语整理
  8. Java程序中Timer的用法
  9. java android 数组_android中数组的定义与使用
  10. 将之前写完的猜数字游戏改为通过javabean_有了这些互动小游戏,知识竞赛更精彩了...