写点什么

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:304358
用户头像

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

关注

评论

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

深入解析分布式文件系统的一致性的实现

移动云大数据

分布式系统 数据同步

git 安装与体验

Jason199

git 签约计划第三季 8月月更

程序员常说的“左手锟斤拷,右手烫烫烫”是怎么回事?

桑榆

bug 8月月更

linux重要的目录之etc

入门小站

【LeetCode】使数组中所有元素都等于零Java题解

Albert

LeetCode 8月月更

Linux工具之Vim编辑器

TimeFriends

8月月更

聊天app开发——防炸麦以及节省成本的内容鉴定方法

开源直播系统源码

软件开发 语音聊天室 直播系统源码 直播源码 语音app开发

SRv6网络演进面临的挑战

穿过生命散发芬芳

8月月更 SRv6

数据中台建设(八):数据服务体系建设

Lansonli

数据中台 8月月更

SAP Analytics Cloud 和 SAP Cloud for Customer 两款 SaaS 软件的集成

汪子熙

SaaS 云平台 系统集成 8月月更

浅聊缓存函数

掘金安东尼

前端 8月月更 高阶函数

C++面向对象封装特性的实例分析与应用扩展(一)

CtrlX

c++ 面向对象 后端 代码 8月月更

鲲鹏devkit开发套件

乌龟哥哥

8月月更

开源一夏 | VuePress的简单使用

坚果

开源 8月月更

开源一夏 | 教你快速实现“基于Docker快速构建基于Prometheus的MySQL监控系统”

知识浅谈

开源 8月月更

限流不只有计数器,带你快速了解四种经典限流算法实现

知识浅谈

8月月更

wallys/new product/MT7915/MT7975/4*radios/

wallys-wifi6

【高并发项目实战】千万级并发的购物车系统设计与代码详解

小明Java问道之路

架构 高可用 高并发 签约计划第三季 8月月更

Nacos配置中心之事件订阅

急需上岸的小谢

8月月更

手撸Router,还要啥Router框架?让react-router/vue-router躺一边凉快去

hiisea

vue.js 前端 开源项目 前端框架 React

面试突击71:GET 和 POST 有什么区别?

王磊

Java 常见面试题

后台图库上传功能

CRMEB

万物智联时代,悄然走入生活

这不科技

鸿蒙 OpenHarmony

磁盘管理-Linux系统磁盘管理

Albert Edison

Linux 磁盘 8月月更

Java网络编程IO模型 --- BIO、NIO、AIO详解

Bug终结者

Java io 8月月更

中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车

梦想橡皮擦

Python 爬虫 8月月更

不想当Window的Dialog不是一个好Modal,弹窗翻身记...

hiisea

前端 前端开发 前端架构 antd 前端框架

Serverless开源架构方案

阿泽🧸

Knative 8月月更

LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之二:编码实现

程序员欣宸

Java LeetCode 8月月更

Sass/Scss、Less 是什么?

CRMEB

STM32+OLED显示屏制作指针式电子钟

DS小龙哥

8月月更

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