写点什么

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

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

关注

评论

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

趣学前端」为什么有的页面背景颜色是渐变的

叶一一

CSS 前端 10月月更

Serverless的应用场景

阿泽🧸

Serverless 10月月更

一文搞懂常见的网络I/O模型

闫同学

网络 网络io 10月月更

【LeetCode】两个链表的第一个重合节点Java题解

Albert

算法 LeetCode 10月月更

有人意图取代SQL,你同意吗?

雨果

sql

「趣学前端」日常浏览的页面为什么可以五颜六色

叶一一

CSS 前端 10月月更

华为云从入门到实战 | 负载均衡服务原理

TiAmo

华为 云开发 10月月更

B类纯资金业务的资金安全保障

agnostic

资金安全 B类业务 纯资金业务

Go-Excelize API源码阅读(二十一)——GetDefinedName()、DeleteDefinedName()

Regan Yue

Go 源码阅读 源码刨析 10月月更

测试需求平台5-Blueprint优化与首个vue页搭建

MegaQi

测试平台开发教程 10月月更

Python进阶(二十二)Python3使用PyMysql连接mysql数据库

No Silver Bullet

Python3 MySQL数据库 pymysql 10月月更

面试官:说说你对Node中的Stream的理解

CoderBin

面试 前端 Node 10月月更

「趣学前端」页面上吸顶的效果是怎么做到的

叶一一

CSS 前端 10月月更

挑战30天学完 Python:Day4数据类型-字符串str

MegaQi

挑战30天学完Python 10月月更

大数据ELK(二十六):探索数据(Discovery)

Lansonli

discovery 10月月更

Go-Excelize API源码阅读(二十三)——SetDocProps、GetDocProps

Regan Yue

Go 开源 源码刨析 10月月更

前端开发提效小技巧之业务功能篇

叶一一

前端 提高效率 10月月更

「趣学前端」box-shadow的多重用法

叶一一

CSS 前端 10月月更

一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式

汪子熙

Java 云原生 Cloud SAP 10月月更

「趣学前端」容器上的折角边框是图形吗?

叶一一

CSS 前端 10月月更

首轮Zepoch节点已售罄完结,你期待次轮吗?

鳄鱼视界

【从0到1学算法】5.Bubble Sort算法-下

Geek_65222d

10月月更

Go-Excelize API源码阅读(二十二)——SetAppProps(appProperties *AppProperties)

Regan Yue

Go 开源 源码分析 Excelize 10月月更

什么是数据产品经理?数据产品经理与传统产品经理有什么区别?

雨果

数据产品经理

如何在高性能的前提下,降低数据库存储成本?

OceanBase 数据库

【一Go到底】第十五天---continue快速入门

指剑

Go golang 10月月更

Python进阶(二十三)Django使用pymysql连接MySQL数据库做增删改查

No Silver Bullet

Python django MySQL数据库 pymysql 10月月更

Java三大特性(一)—封装

共饮一杯无

Java 面向对象 10月月更

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析03

桑榆

源码刨析 10月月更 C++

浅谈etcd服务注册与发现

闫同学

Go 微服务 etcd 10月月更

一文搞懂Go整合captcha实现验证码功能

闫同学

Go Web 安全 10月月更

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