Impala 使得开发者可以将基于 Spring MVC 的 web 应用划分成一组形成继承体系的模块,它采用 Java 1.5 运行时,其许可协议基于 Apache V2。使用该框架的每个应用都包含一个根模块,还可以包含一个或多个子模块。根模块的主要作用是定义一套接口 beans 并为应用中使用的 Java 接口和共享 / 领域类提供 home 接口,而子模块主要关注领域。该框架可以在运行的应用中动态增加、更新或删除模块,还可以利用 JMX 查看和重新装载模块。Impala 从内心深处拥抱测试驱动开发并提供了一个基于 JUnit 3 的“交互式测试运行器”,其目的在于减少开发 / 部署 / 测试的周期,尤其是集成测试。
Impala 项目组刚刚发布其首个里程碑版本,可以从这里下载。该版本与 Eclipse 和 Ant 结合非常紧密,并支持 Tomcat 和 Jetty 作为其 servlet 容器。最终的 1.0 版打算增加对 Netbeans 和 IntelliJ 的支持,同时对 JDeveloper 的支持也在考虑中。除了对 Spring MVC 的支持,它还计划支持一般的 web 集成机制。尽管 Impala 计划在其首个完全发布版中增加对 OSGi 的支持,但是它现在与 OSGi 并不兼容。
根据 Impala 的路线图——在其首个里程碑版本中已实现如下特性:
- 交互式测试运行器:一个可以加载、更新、重新加载并运行测试的 Java 应用。
- 套件测试运行器:支持高效、快速地运行一组集成测试。
- 简单的脚手架,允许构建新项目。
- Eclipse web 应用运行器(使用 Jetty),无需构建就可以进行多模块 web 应用的开发。
- War 部署构建——可以创建 war 文件,该文件可以被部署到标准的 JEE 应用服务器或者 servlet 容器中。
- 针对 Jetty 的非 war 部署构建——在嵌入式 Jetty 服务器中的一个专门的部署结构。
- 内部重构以除去架构中的瑕疵。
- 集成 Spring MVC,支持多模块及使用 Spring MVC 构建的动态可重新加载的 web 应用。
- 支持 JUnit 3.8,特别是在交互式测试运行器中。
- 利用文件系统修改探测器实现的自动模块更新。
- 利用 JMX 管理控制台实现的手动模块更新。
- 部署构建自动打上发布版本标签。
- 可以在基于 Impala 的应用中使用的基于 Ant 的构建系统。
很明显,Impala 在某些方面与 Spring OSGi 有重复之处,在 Impala 的博客上有一篇文章对此作了比较。该项目考虑到与OSGi 的关系,最终允许将OSGi 作为Impala 应用的另一个可选运行时。
Impala 的项目经理非常渴望社区的参与。如果你对此感兴趣,请看看这里。
查看英文原文: First Public Release of Impala Provides Dynamic Modules for Spring
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。













评论