`

azkaban源码解读(二):观察者模式在job执行过程中事件监听应用

 
阅读更多

抽象观察者

public interface EventListener {
  public void handleEvent(Event event);
}

 抽象观察主体

public class EventHandler {
  //持有观察者容器
  private HashSet<EventListener> listeners = new HashSet<EventListener>();

  public EventHandler() {
  }
  //添加观察者
  public void addListener(EventListener listener) {
    listeners.add(listener);
  }
  //通知所有观察者  
  public void fireEventListeners(Event event) {
    ArrayList<EventListener> listeners =
        new ArrayList<EventListener>(this.listeners);
    for (EventListener listener : listeners) {
      listener.handleEvent(event);
    }
  }
  //删除观察者
  public void removeListener(EventListener listener) {
    listeners.remove(listener);
  }
}

  

分享到:
评论

相关推荐

    azkaban源码

    7. **错误处理与日志记录**:Azkaban在源码中集成了日志系统,用于记录执行过程中的信息和错误。这有助于调试和监控任务的执行。 8. **扩展性**:Azkaban允许用户自定义作业类型,`azkaban-jobtype-2.5.0`模块就...

    azkaban4.0编译包

    使用预编译的包可以快速地在你的环境中部署并开始使用Azkaban,而不需要经历编译源代码的过程,这大大简化了部署步骤。然而,为了确保最佳的兼容性和稳定性,你应该仔细阅读官方文档,了解可能的配置选项和升级注意...

    azkaban 编译与部署

    #### 二、Azkaban源码编译 1. **源码获取**: - 使用`git clone https://github.com/azkaban/azkaban.git`命令克隆Azkaban源码。 - 克隆完成后,会在当前目录下生成名为`azkaban`的文件夹。 2. **源码编译**: ...

    azkaban3.43.0--linux 相关源码tar包

    Azkaban 3.43.0 是一个开源的工作流执行引擎,主要用于管理和调度复杂的批处理作业,尤其在大数据处理领域应用广泛。该版本的源码压缩包是为Linux系统设计的,用户可以自行下载、解压并在Linux环境中进行编译安装。 ...

    java语言springboot 二次封装azkaban 实现azkaban 的创建 执行

    1、基于SSM架构,基于springboot实现,可用接口调用 2、azkaban的复杂的依赖配置可以变成简单的...3、接口直接执行azkaban,无需人工登录azkaban触发执行 4、核心代码可以直接复用,用于对azkaban有定制需求的开发者

    Azkaban - 定时任务系统的配置与运行详解

    在 Linux 系统中,需要创建一个名为 azkaban 的用户,并赋予 sudo 权限。使用以下命令创建用户: ``` [root@anson01 ~]# useradd azkaban [root@anson01 ~]# passwd azkaban ``` 然后,重复输入密码以确认。 二、...

    Azkaban操作指南.pptx

    Azkaban是一款用于批量处理工作流任务调度的工具,在数据处理、ETL(提取、转换、加载)流程中有着广泛的应用。下面我们将详细介绍如何使用Azkaban进行任务调度。 ### Azkaban概述 Azkaban是一个强大的批量工作流...

    Azkaban4.0.zip

    在Azkaban4.0.zip中,我们可以预见到这个压缩包包含了完整的Azkaban4.0源码、构建脚本、配置文件、可执行文件以及可能的示例工作流。这个"最新官方源码编译后的安装包文件"意味着用户可以直接下载并进行安装,无需...

    azkaban-3.84安装包(免编译)

    在Azkaban的官方网站上,通常只提供源码版本,这需要用户自行编译,然而在编译过程中可能会遇到网络问题,导致编译失败。为了解决这个问题,我们有了预编译的 "azkaban-3.84安装包(免编译)",它提供了便捷的二进制...

    Azkaban元数据库分析

    Azkaban是一款强大的工作流调度系统,主要用于批处理作业的管理与调度,在大数据处理领域有着广泛的应用。为了更好地管理和跟踪作业的状态,Azkaban通过一系列的元数据库表来记录作业相关的各种信息。本文将详细介绍...

    azkaban3.9安装包下载(已编译)

    Azkaban是一款开源的工作流执行器,主要用于大数据处理工作流的调度和管理。它由LinkedIn开发,被广泛用于...配合Hadoop和Hive,Azkaban在数据仓库项目中发挥着调度和协调的作用,使得大数据任务的执行更加高效和便捷。

    Azkaban实战通过5个不同场景介绍原理.docx

    在第二个场景中,介绍了如何创建一个多个 job 的工作流。首先,创建多个 job,每个 job 都有其依赖关系,然后将所有 job 资源文件打包成一个 zip 文件,上传到 Azkaban 的 web 管理平台,启动工作流 flow。 在第三...

    azkaban最新基于REDHAT编译好的,测试可用的完事包

    在下载的压缩包中,尽管只提到了"tar",这通常是指包含Azkaban源码或二进制文件的.tar格式档案。解压后,用户可能需要遵循以下步骤来安装和运行: 1. **解压文件**:使用`tar -zxvf azkaban_redhat_package.tar`...

    azkaban单机模式编译包

    在这个场景中,我们讨论的是Azkaban的单机模式编译包,即"azkaban-solo-server-3.33.0-1-g23f0cf2.tar.gz"。 **Azkaban单机模式**: Azkaban有多种部署模式,其中单机模式是最基础的配置,适合个人开发者或者小团队...

    Azkaban任务调度安装配置和使用

    ### Azkaban任务调度安装配置和...综上所述,Azkaban作为一个高效、灵活的工作流调度系统,在大数据处理领域具有广泛的应用前景。通过本文的详细介绍,希望能帮助读者更好地理解和掌握Azkaban的安装、配置和使用方法。

    azkaban3.52安装包亲测可用(单机模式和集群模式)

    在本安装包中,包含了Azkaban 3.52版本的三个主要组件:solo服务器、web服务器和执行服务器,以及一个"安装教程.txt"来指导用户进行安装。 1. Azkaban Solo Server (azkaban-solo-server-3.52.0-9-gd13ce99.tar.gz)...

    datax on azkaban——datax as a service

    《DataX on Azkaban:构建大数据服务的实践》 DataX是阿里巴巴开源的一款高效、稳定、强大的数据同步工具,它能够支持多种数据源之间的数据迁移。Azkaban则是LinkedIn开发的一个工作流作业调度系统,它为企业级的大...

    编译好的azkaban,3.90.0版本

    在使用过程中,你可能还需要关注Azkaban与其他大数据工具的集成,如Oozie。Oozie也是一个作业调度系统,但更专注于Hadoop生态系统中的任务。Azkaban和Oozie各有优势,可以根据项目需求选择适合的工具。对于已经熟悉...

Global site tag (gtag.js) - Google Analytics