写点什么

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

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

关注

评论

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

VTS:基于Apache SeaTunnel的开源向量数据迁移工具

白鲸开源

GitHub 数据集成 Apache SeaTunnel 开源、 VTS

Supersonic 推出混合休闲游戏开发大赛 为开发者提供丰厚资金支持与专家指导

Geek_2d6073

从孤岛到协同,集成式财务规划的未来

智达方通

数据孤岛 业财融合 集成式财务协作 财务协作

Pytest框架:提升软件测试的利器

测试人

软件测试

Pytest 结合数据驱动的用法详解

测吧(北京)科技有限公司

测试

如何使用PHP开发1688商品详情API接口

科普小能手

数据采集 1688 API 接口 1688代采 1688 API

Comprehensive Analysis of IPQ5312 and IPQ9554: Features, Bands, Performance, and Mining Applications

wifi6-yiyi

WiFi7

AIC和ScaleFlux(锐钲)发布基于NVIDIA BlueField-3 DPU的新型存储阵列

ScaleFlux

Pytest 参数化与基本装饰器用法

测吧(北京)科技有限公司

测试

SecureCRT & SecureFX 9.6 发布,新增功能概览

sysin

securecrt SecureFX

Pytest 编写自动化测试用例规则

测吧(北京)科技有限公司

测试

软件测试丨Pytest 参数化与调度执行

测试人

软件测试

比特币临近10万美元回调:后市走势与关键因素解读

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

InDesign for Mac(id 2022中文版)

Mac相关知识分享

Web兼容性测试思路详解

测吧(北京)科技有限公司

测试

并行区块链全解:执行原理、代表项目及技术发展周期

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 钱包开发

2024年最新互联网Java面试八股文(附互联网大厂P5-P8技术栈)

采菊东篱下

程序员 java面试

NineData ChatDBA发布重大更新,准确率飙升

NineData

数据库 大模型 ChatGPT NineData ChatDBA

南京大学苏州校区学生代表团到访合合信息,开启“沉浸式”人工智能企业行

合合技术团队

人工智能 科技 校企合作 南京大学

DolphinScheduler JavaTask动态传参秘籍:轻松实现任务间数据流动

白鲸开源

开源 干货 Apache DolphinScheduler 参数传递

Demo发布- ClkLog客户端集成-React Native

ClkLog

sdk 用户行为分析 开源软件 画像

为什么不建议中小企业自己研发管理系统?

积木链小链

企业管理 数字化 ERP 中小企业

用豆包MarsCode ,陪你云赏月

豆包MarsCode

Rust 错误处理在 GreptimeDB 的实践

Greptime 格睿科技

rust 错误 错误处理

QCN9074 vs. QCN9024: Which WiFi 6E Module is Right for You?

wallyslilly

QCN9074 QCN9024

技术实践 | AI 安全:通过大模型解决高危WEB应用识别问题

百度安全

Python多任务编程在软件测试中的应用

测试人

软件测试

Pytest 框架与常用操作

测吧(北京)科技有限公司

测试

Web兼容性测试思路详解

测吧(北京)科技有限公司

测试

2024华为云开源开发者论坛完整议程揭晓,云原生专场邀您共探前沿技术!

华为云原生团队

云计算 容器 云原生 Volcano kubeedge

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