写点什么

Struts 2 试验热部署插件

  • 2007-08-14
  • 本文字数:798 字

    阅读完需:约 3 分钟

Apache Struts 这个已被广泛应用的 Java Web 应用框架纳入了一个很有价值的新特性,该特性对热部署插件提供了支持。Struts 的开发成员 Don Brown 在上星期宣布,他们已经开始动手开发Struts 2 的OSGi 插件,当这项工作完成以后,就可以实时的添加、移除或是升级插件,而无需重启整个应用。

Brown 还提到了他曾经被Atlassian 的JIRA 和Confluence(Brown 之前曾在Atlassian 公司中效力)中所使用的插件系统而深深触动。他想把类似这两个产品中支持热部署插件的特性带到Struts 里面来,这将会为Struts 将来的发展带来很大的便利。随后 OSGi 插件的开发就开始了。

该插件可以让我们能够动态的维护应用,从而削除对用户的干扰,但是最直接的效果还是在开发应用的时候体现出来的。Don 说道:

这项能力实是强大无比,我们现在已经开始在内部把越来越多的功能挪到了插件中去,这样我们的代码库就可以只关注核心功能,更加敏捷。

使用这个 OSGi 插件以后,开发人员就可以把应用拆分成多个独立的 jar 包,或称作“bundles”,只要把它们放到服务器上恰当的位置上,该插件就可以把它们一一找出并进行部署。运行这个插件并不需要花多少工夫,而且 Brown 的目标之一就是要通过把大量的 OSGi 复杂性隐藏起来,从而使得 bundle 开发变得更加简单(当然,他也做好了应对业界激烈尖锐的反对意见的准备,因为他做出的结论就是“OSGi 专家将要掩面哭泣了”)。

目前 OSGi 插件的开发还处于早期阶段,也没有经过足够的测试以应用于产品环境。目前这个版本还有很多限制,比如没有 GUI 管理工具;只支持 Velocity 模板;bundle 内包含的文件也有限制(不能有第三方 jar 包)等等。它的源代码可以从 Apache Struts 2 的沙箱中获取到,按照 Apache 一贯的风格,它也欢迎社区参与到开发过程中来。不过目前还没有迹象表示在 Struts 2 中的这种插件革新会移植回 Struts 1 中。

查看英文原文: Struts 2 Experiments with Hot Deployable Plugins

2007-08-14 05:304595
用户头像

发布了 197 篇内容, 共 59.6 次阅读, 收获喜欢 21 次。

关注

评论

发布
暂无评论
发现更多内容

Vue进阶(十六):vue项目结构启动原理详解

No Silver Bullet

Vue 7月日更 启动原理

基于RNN和CTC的语音识别模型,探索语境偏移解决之道

华为云开发者联盟

语音 RNN ASR CTC 语音识别模型

华为云MVP周峥:气象预报是个技术活,大数据、超算、AI,缺一不可

华为云开发者联盟

人工智能 大数据 环保 气象 超算

HCIA-HarmonyOS Application Developer 应用方向认证资料

爱吃土豆丝的打工人

HarmonyOS HCIA认证 应用开发方向

区块链技术如何赋能食品安全链路追溯

CECBC

统一语言 = 领域模型 ?

escray

学习 极客时间 7月日更 如何落地业务建模

Vue进阶(六十二):理解$nextTick()

No Silver Bullet

Vue 7月日更 nextTick

架构实战营 模块二作业

脉醉

#架构实战营

获客达人app系统开发

获客I3O6O643Z97

大数据

基于用户角色的数据库智能监控系统应用场景分析

华为云开发者联盟

数据库 架构 监控 用户 智能监控

【设计模式】总览

Andy阿辉

编程 程序员 设计模式 23种设计模式

【LeetCode】滑动窗口的最大值Java题解

Albert

算法 LeetCode 7月日更

Pandas高级教程之:稀疏数据结构

程序那些事

Python 数据分析 pandas 程序那些事 稀疏矩阵

重磅来袭!全网最具深度的三次握手、四次挥手讲解

欢喜学安卓

android 程序员 面试 移动开发

网易传媒数据指标体系建设实践

网易数帆

大数据 数据仓库 指标体系

重磅消息!写给安卓软件工程师的3条建议

欢喜学安卓

android 程序员 面试 移动开发

bash: docker-compose: 未找到命令

阿呆

Docker-compose

架构训练营模块二作业

Lemon

Python OpenCV 图像处理再循环,第一阶段复盘

梦想橡皮擦

7月日更

深度解析 Lucene 轻量级全文索引实现原理

vivo互联网技术

lucene 检索 索引技术

360 政企安全集团基于 Flink 的 PB 级数据即席查询实践

Apache Flink

flink

在线XML转HTML工具

入门小站

工具

【设计模式】工厂模式

Andy阿辉

编程 程序员 设计模式 23种设计模式

Rust从0到1-并发-可扩展性

rust 并发 sync Concurrency send

【Flutter 专题】81 图解 Android Native 集成 FlutterBoost 小尝试 (三)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

数字化转型下的数字经济新发展

CECBC

赋能中小银行数字营销:索信达助力深圳农商行建设标签系统

索信达控股

金融 银行 用户标签

优化和调整Spark应用程序(七)

Databri_AI

spark 缓存 持久化

【设计模式】抽象工厂

Andy阿辉

编程 程序员 设计模式 23种设计模式 编程思想

抖音霸屏系统软件开发

获客I3O6O643Z97

大数据 抖音霸屏

Linux - 零拷贝

大海

Linux zero copy

Struts 2试验热部署插件_Java_Andy Roberts_InfoQ精选文章