在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

Eclipse Virgo 发布了

  • 2010-11-05
  • 本文字数:1145 字

    阅读完需:约 4 分钟

近日,Eclipse Virgo 发布了,其中包含了 Eclipse Gemini Web 组件,虽然这是以 Eclipse 名义首次发布的版本,但它却是知名的 Spring DM Server 自然而然的演化。 Virgo Gemini Web 的发布声明详细列出了此次发布的新特性,感兴趣的读者不妨移步一观。

Eclipse Virgo 提供了一个运行在 Eclipse Equinox 上的内核,而 Eclipse Equinox 则可以运行基于 OSGi 的应用。与普通的 Equinox(或 Felix)运行时不同的是,Eclipse Virgo 使用了嵌套框架的概念来对安装在相同框架中的 OSGi 应用进行分区,可以解析来自一个或多个仓库的Bundle,这可以是本地,也可以是远程的观测目录。

Eclipse Virgo 还使用了一个非常有用的概念:PAR 文件,这是 OSGi Bundle 的归档文件,能够以原子形式安装到运行时当中。对于那些习惯于将单独的 WAR 文件丢到 Tomcat 等 Web 服务器的开发者来说,迁移到 Virgo 上是非常简单的事情,这要比直接使用 Equinox 或 Felix 轻松得多。

虽然 Virgo 只是内核的名字,但它还带有来自于 Eclipse Gemini 项目的 Gemini Web 容器。该容器实现了 OSGi Enterprise Web Bundle 规范,这样我们就可以使用它按照 PAR 的方式安装 OSGi Web Bundle 了。由于这些 WAB 是符合标准的格式,因此它提供了使用 Virgo 的标准方式,你无需了解众多的私有格式。Apache Aries 也有一个类似的 EBA 格式;未来的 OSGi 规范很有可能会吸收这些方式的精华,进而设计出标准化的单独安装的组件。

此外,Virgo 内核还支持现有的 Spring DM 基础设施,这包括基于 OSGi 服务的动态包装,还支持如 Hibernate 等遗留程序库。考虑到当用于 OSGi 环境中时,Hibernate 将会变得一团糟,那些希望逐步摆脱 Hibernate 的开发者会发现 Virgo 在 OSGi 环境下对 Hibernate 提供了很棒的支持,这将有助于他们迁移到 OSGi 支撑的后端环境中,如 OpenJPA EclipseLink

SpringSource Tool Suite 为在 Virgo 中创建与部署应用提供了支持;基于 Maven 的目标还可以用于构建、打包并将 Bundle 与 PAR 安装到 Virgo 运行时当中,这一切都非常简单。

Virgo 的未来规划包括了其他的 Gemini 组件,如 OSGi JNDI 与 JDBC 支持。虽然 Eclipse Virgo 仍将关注于内核与管理方面,但 Eclipse Gemini 项目还会继续发布 OSGi 企业规范实现。

在 Spring DM Server 首次发布时,它获得了很多赞誉。然而,使用它的人却远没有达到 SpringSource 的期望,这其中的原因可能在于 GPL,这个协议使得 Spring DM Server 在企业中的普及受阻。既然现在它的代码已经成为了 Eclipse 的一部分,自然就具有了双重许可,分别是 Apache License 与 Eclipse Public License。加上可以迁移遗留的 Spring 与 Hibernate 企业级代码等特性,Eclipse Virgo 很有可能在不远的将来获得越来越多开发者的青睐。

查看英文原文: Eclipse Virgo Released

2010-11-05 01:174452
用户头像

发布了 88 篇内容, 共 274.2 次阅读, 收获喜欢 9 次。

关注

评论

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

带你实现react源码的核心功能

goClient1992

React

JWT 和 JJWT 还傻傻的分不清吗

HoneyMoose

细说react源码中的合成事件

flyzz177

React

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

什么是虚拟服务器?一共有多少种虚拟服务器?这篇文章带你扫盲!

wljslmz

10月月更 虚拟服务器

React组件复用的发展史

夏天的味道123

React

Linux操作系统——日志管理

胖虎不秃头

Linux 操作系统 10月月更

【SSM】Spring系列——IoC 控制反转

胖虎不秃头

spring ssm 10月月更

【LeetCode】检查二进制字符串字段Java题解

Albert

LeetCode 10月月更

你要的react+ts最佳实践指南

xiaofeng

React

Redis中的数据类型以及常用方法

Java学术趴

10月月更

怎样对react,hooks进行性能优化?

beifeng1996

React

SAP 电商云 Spartacus UI 的响应式 UI 实现细节

汪子熙

前端 前端开发 web开发 10月月更 breakpoint

使用 RxJs 实现一个支持 infinite scroll 的 Angular Component

汪子熙

前端开发 angular RXJS web开发 10月月更

【牛客刷题-算法】NC11 将升序数组转化为平衡二叉搜索树

清风莫追

数据结构 算法 二叉树 10月月更

React-Hooks源码深度解读

goClient1992

React

React源码解读之任务调度

flyzz177

React

一个dubbo和springboot的兼容性问题

xiaoxi666

Linux操作系统——进程管理、RPM与YUM

胖虎不秃头

操作系统 Linux tar 10月月更

Collections之 Arraylist源码解读(二)

知识浅谈

ArrayList 10月月更

Python基础(七) | 文件、异常以及模块详解

timerring

异常 Python Monad 10月月更

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript

读懂React原理之调和与Fiber

xiaofeng

React

【牛客刷题-算法】NC9 二叉树中和为某一值的路径(一)

清风莫追

算法 二叉树 10月月更

React生命周期深度完全解读

夏天的味道123

React

Redis开篇--非关系型数据库

Java学术趴

10月月更

能否手写vue3响应式原理-面试进阶

helloworld1024fd

JavaScript

Spring Lombok 实体类死循环问题

HoneyMoose

【牛客刷题-算法】NC7 买卖股票的最好时机(一)

清风莫追

算法 动态规划 10月月更

写过自定义指令吗,原理是什么?

bb_xiaxia1998

Vue

Eclipse Virgo发布了_Java_Alex Blewitt_InfoQ精选文章