写点什么

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

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

关注

评论

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

游戏夜读 | 做游戏选什么专业?

game1night

我的关注清单

lmymirror

知识管理 关注清单 RSS

DDD 实践手册(3. Entity, Value Object)

Joshua

系统设计 领域驱动设计 系统架构 架构模式

CEPH OSD Down故障分析与处理

木子

企业如何选择物联网中台

老任物联网杂谈

物联网中台 IOT Platform 物联网平台

Netty 源码解析(五): Netty 的线程池分析

猿灯塔

树莓派小车系列-直播

波叽波叽啵😮一口盐汽水喷死你

树莓派 ffmpeg 云直播 盐汽水 raspberry

百度开源项目

Bruce Duan

阿里29大开源项目看看你都用过哪些

Bruce Duan

虚拟化Pod性能比物理机还要好,原因竟然是这样!

亨利笔记

Kubernetes 容器 k8s vSphere pod

扩展Redis:增加Redis命令

心平气和

redis

[计算机网络1]我所知道的关于TCP的一切

海神名

TCP 计算机网络 网络协议 原理

下一个阶段,就真的容易了吗?

ke_lv

生活

轻轻一扫,立刻扣款,付款码背后的原理你不想知道吗?

楼下小黑哥

支付宝 微信支付 支付系统 付款码

高仿瑞幸小程序 02 创建Tabbar

曾伟@喵先森

小程序 微信小程序 大前端 瑞幸

File类的文件操作

Howe

Java File 文件 io

缘起:很久很久以前

escray

学习 测试驱动开发实战营

哲少荐书:这才是心理学

Jackey

心理学 读书

leetcode1137:第 N 个泰波那契数

Damien

算法 LeetCode 斐波那契

译文MapReduce:大型集群上的简化数据处理

海神名

mapreduce 译文 MIT 分布式计算

架构师们必备的三三制需求分析思维模型

常平

我看拼多多黄峥:旧世界瓦解冰消

池建强

拼多多 黄峥

我愿沉迷于学习,无法自拔(三)

孙瑜

深度思考 程序员 感悟

Java并发编程系列——线程池

孙苏勇

Java Java并发 并发编程 多线程 线程池

思维偏差与产品设计的关联思考

石君

产品设计 思维方式 安全产品设计

科学治疗“知识焦虑症”

陈驰远

个人成长 知识管理

大家看看我这个斜杠青年够斜吗?

伯薇

个人成长 斜杠青年 能力提升 好奇心 T型人才

每天一道 python 面试题 - Python中的元类(metaclass) 详细版本

志学Python

python 爬虫 python元类

用 Vim 编辑 Markdown 时直接粘贴图片

mzlogin

vim markdown

源码浅析 - CocoaLumberjack 3.6 之 DDLog

Edmond

ios log4j CocoaLumberjack SourceCode DDLog

leetcode20.有效的括号

Damien

算法 LeetCode

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