将 WAR 部署到 OSGi Web 容器现在更加简单

工程 | Andy Wilkinson | 2009年6月16日 | ...

正如 Rob 在他的OSGi Web 容器介绍中提到的,dm Server 会自动将系统包导入 Web bundle。这已被证明非常有用,尤其是在将现有 WAR 文件部署到 OSGi 环境中时。我最近花了一些时间将此功能从 dm Server 的 Web 子系统移入 OSGi Web Container RI。这篇博客描述了新功能以及如何使用它。

启用系统包导入

有两种方法可以指示 RI 导入所有导出的系统包。

安装 Web bundle 时,您现在可以使用 SpringSource-SystemPackages…

使用 Spring BlazeDS Integration 1.0

工程 | Jeremy Grelle | 2009年6月11日 | ...

今天我们宣布了开源 Spring 项目组合的最新成员 Spring BlazeDS Integration 1.0 GA 版本的公开发布。与此事件相对应,我认为现在是时候更新我的之前的入门文章了。回顾一下

该项目的目的是通过使用 Adobe Flex 作为前端客户端,更轻松地构建 Spring 支持的富互联网应用程序。它旨在通过提供对使用开源 Adobe BlazeDS 项目及其强大的远程调用和消息传递功能与熟悉的 Spring 编程模型的组合的一流支持来实现此目的。

试用 Spring BlazeDS Integration

自第一个 M1 版本以来,我们确实扩展了功能集,包括
  • 完整的 Spring Security 集成
  • 异步消息传递支持(支持 3 种不同的消息目的地类型)
  • 完整的 XML 配置命名空间
  • 基于注解的远程调用配置选项
  • 众多高级定制钩子

项目发行版中现在包含由 Adobe 协作构建的详细示例集,展示了各种功能的使用,这些示例集称为 Spring BlazeDS Integration Test Drive。这些示例是快速上手项目的好方法,在这里我将快速向您介绍…

dm Server 2.0 M3 中的克隆

工程 | Glyn Normington | 2009年6月10日 | ...

克隆是 dm Server 2.0 中的一项功能,它将某些 bundle 和库复制到有范围的应用(即 PAR 或有范围的计划)中,如路线图中所述。

dm Server 对克隆的支持在过去几个 Sprint 中稳步进展。基本机制已在 M1 中就位:克隆可能由以下触发

  • 手动通过在 import-library 或 import-bundle 上指定指令 sharing:=clone
  • 当有范围的应用因 uses 约束冲突而无法解析时自动触发。

自那时起,代码进行了一些整理,对于常见的 Spring Framework 克隆情况添加了主要的性能优化,添加了日志消息以指示哪些 bundle 已被克隆,改进了跟踪,并修复了一些错误。

我们注意到手动克隆是一个相对安全的操作,因为它完全由用户控制。然而,自动克隆总是推测性的。它由 OSGi 解析器失败驱动,特别是 uses 约束冲突(如早期博客中所述)。某些 uses 约束冲突无法通过克隆避免,但我们直到尝试自动克隆并 uses…

Spring Security 3.0.0.M1 发布

工程 | Luke Taylor | 2009年6月3日 | ...

我们很高兴地宣布 Spring Security 3.0 的第一个里程碑版本现已可供下载。该版本也可通过 Maven 里程碑仓库获取,地址为http://maven.springframework.org/milestone。与 Spring 3.0 一样,这是第一个需要最低 JDK 1.5 才能运行的版本,并且也需要 Spring 3.0,因此如果您还没有使用它,应该获取 Spring 3.0.0.M3 版本。那么这个版本有什么新内容和变化呢?

基于表达式的访问控制

此版本首次包含我们基于 Spring-EL 的授权支持预览。您现在可以在方法注解和 Web 安全性中使用表达式。与熟悉的属性和基于 voter 的机制相比,这开启了许多新的可能性。一个简单的例子可能是个好的开始。这是一个用于 Web 应用程序的例子,使用了安全命名空间

  <http use-expressions="true">
     <intercept-url pattern="/secure/**" access="hasRole('ROLE_SUPERVISOR') and hasIpAddress…

Red Hat 回应 SpringSource 的领导地位

工程 | Rod Johnson | 2009年6月3日 | ...

正如 Register几位博主所指出的,Red Hat 最近宣布了一项防御性举措,其动机是试图追赶 SpringSource。显然,SpringSource tc Server 和 dm Server 的势头以及 Spring Framework 作为企业 Java 事实上的标准组件模型的持续进步让 Red Hat 感到担忧。

“JBoss Open Choice 策略”似乎是重新打包而不是新技术,试图在需求不断变化的勇敢新世界中定位 JBoss 仍具有重要性。这种重新打包不仅明显是被动的,而且大部分内容…

OSGi Web 容器对 dm Server 意味着什么

工程 | Rob Harrop | 2009年6月1日 | ...

在我上一篇文章之后,许多人一直在询问迁移到 OSGi Web 容器对 dm Server 的影响。最常见的提问是

  • 增加了什么?
  • 什么保持不变?
  • 什么发生了变化?
  • 我如何保持最新?

我将分别解答这些问题。如果您有更多问题,请随时评论。

增加了什么?

与 Web Container RI 集成将使 dm Server 能够访问 OSGi Web Container 标准的所有功能。这包括处理 WAR 的标准模型、对 webbundle URL 方案的支持以及对 Web Container extender 的支持。

我正在为 RI 探索一些不错的增值功能,包括使用 ConfigAdmin 进行动态配置、用于检查已部署 Web bundle 的全面 MBean 接口以及 EventAdmin 集成以监控生命周期事件。所有这些功能都将添加到 dm Server 以及 RI 中。

什么保持不变?

您会很高兴地知道,您在 dm Server 中学到的有关 Web 应用程序的大部分知识都保持不变。

使用 dm Server 部署器

除了对 webbundle URL 的支持之外,WAR 文件仍然可以使用 dm Server 部署器进行部署。部署器的所有路径都受支持,包括 pickup 目录、deployer MBean 和 Admin Console。

使用 dm Server 部署器部署时,WAR 文件依赖项将自动从配置的仓库链中可用的 bundle 安装。

WAR 部署模式

程序员指南中提到的所有 WAR 类型都保持不变 - 事实上,它们是 Web Container 标准的一部分。

系统包导入

使用 dm Server 部署的 WAR 将自动导入所有配置的系统包,即使此功能未进入标准。如果使用 webbundle URL 进行部署,您可以使用 URL 参数触发系统包导入。我希望规范将包含此区域的一些标准行为

什么发生了变化?

我们的目标是在 dm Server 中保持大多数功能不变,但迁移到 Web Container 确实需要一些更改。与此同时,我们正利用代码重构的机会集成用户提出的一些更受欢迎的功能请求。

Web 模块将被移除

最大的变化是移除了web 模块。我们倾向于支持基于标准的方法,现在我们已经能够与 OSGi Alliance 合作创建基于标准的 OSGi Web 应用程序方法,我们正在转向它,而不是特定于 dm Server 的解决方案。

对于目前正在使用 Web 模块的各位,我非常想听听您最喜欢哪些功能以及不舍得失去哪些功能。重要的 Web 模块功能完全可以在 Web Container web bundle 之上重新实现。

切换到 Tomcat 配置格式

在 1.0.x 版本中,dm Server 中嵌入的 Tomcat 实例使用 JSON 配置文件格式进行配置。许多用户要求我们切换回使用 Tomcat 的 XML 格式。Web Container RI 使用标准的 Tomcat 格式,当 dm Server 切换到 Web Container 时,它也将切换配置文件格式。

我仍在最终确定配置文件将存储在哪里。我希望能够使用可以从 ConfigAdmin 填充的占位符对 Tomcat 配置文件进行参数化。

我如何保持最新?

了解进展的最简单方法是跟踪 Web Container 和 dm Server Web 的 SVN 仓库。您可以通过以下 URL 访问这些仓库

我会定期在此博客更新,您可以通过 Twitter 跟踪进展,使用 #osgi#dmserver

Spring Roo 入门

工程 | Ben Alex | 2009年5月27日 | ...

更新:“Introducing Spring Roo”博客系列的第三部分现已发布,详细介绍了 Roo 的内部架构。

我有一个忏悔。虽然你们中的许多人知道我最近一直在忙于 Spring Roo 的工作,但我还有一个独立的项目尚未提交到 Subversion。另一个项目是计划我们的婚礼,因为下个月我和未婚妻将出国结婚。所以当我思考在这篇博客中可以向您展示关于 Roo 的什么时,我突然想到我应该借此机会使用 Roo 构建我们婚礼的 RSVP 网站!所以今天我们将学习如何使用 Roo 构建婚礼 RSVP 网站,我的一些同事评论说这是一个追求工作与生活平衡的企业家例子。:-)

进展更新

如果您错过了 2009 年 5 月 1 日的 Spring Roo 博客系列的第一部分,简而言之,我介绍了 SpringSource 新开源生产力工具的愿景,该工具旨在帮助那些希望在 Java 中快速构建最佳实践 Spring 应用程序的人。许多尝试过 alpha 版本的人发现,Spring Roo 提供了一种强大易用的方法来进行高效的应用开发,而 Roo 的大部分动机来自于第一个 Jira issue,ROO-1(由 Spring 之父、SpringSource 首席执行官 Rod Johnson 记录)。

今天我很高兴地宣布,我们刚刚发布了 Spring Roo 1.0.0.M1。此版本不仅包含众多修复、增强和 31% 的性能提升,还包含一系列令人兴奋的新功能,包括电子邮件服务JMSSpring Web Flow、简化的安装以及自动化的 Selenium 支持。这还不包括我早期博客中提到的 alpha 版本中已有的许多功能。

除了致力于第一个里程碑版本之外,过去一个月我们还建立了开源项目典型的公共项目基础设施。我们现在提供了社区支持论坛、Jira 问题跟踪、公共 Subversion 仓库、FishEye 源代码监控以及等等。在 #roo Twitter 上报告的一些评论…

OSGi Web 容器介绍

工程 | Rob Harrop | 2009年5月27日 | ...

更新:添加了 Git 的版本控制说明。

在过去的几个月里,我一直与 Subbarao Meduri、Graham Charters、Hal Hildebrand 以及来自 OSGi Enterprise Expert Group 的其他人合作,制定 RFC66 Web Container 规范。Web Container 规范定义了如何在 OSGi 服务平台上以标准方式部署 WAR 文件。

这对我们来说非常有趣,因为 dm Server 支持 WAR 文件已经将近 18 个月了,我们很高兴能够努力实现标准模型。作为最终用户,您将能够在 OSGi 上部署 WAR 文件而无需…

dm Server 2.0 M2

工程 | Andy Wilkinson | 2009年5月19日 | ...

dm Server 2.0.0.M2 已发布,现已可供下载。自 2.0.0.M1 以来,我们在两个 Sprint 中朝着最终版本取得了显著进展,无论是在新功能还是缺陷修复方面。如果您有兴趣了解我们一直在努力的所有内容,请查看 M2 发布说明。请继续通过博客评论、论坛JIRA 提供您的反馈意见。

新增与值得关注的内容

Spring 3 支持

在此里程碑版本中,我们已将 dm Server 升级到在 Spring 3 上运行。随着我们朝着 dm Server 2.0 的最终版本迈进,我们将根据新的里程碑和快照可用性来升级 Spring 3 的版本。

克隆功能的改进

我们对自动克隆的支持进行了重大改进。例如,您现在可以在同一个 dm Server 中并行运行 Spring 2.5.6 和基于 Spring 3 的应用程序。

监视的仓库

已添加对监视仓库的支持。监视仓库被配置为监视文件系统上的一个目录,并且随着工件添加到该目录,它们将可用于 dm Server 的供应系统。同样,随着工件从目录中移除,它们将不再可用于 dm Server 的供应系统。

以下是监视仓库的一些示例配置

"watched-repo" : {
    "type" : "watched",
    "watchDirectory" : "repository/watched",
    "watchInterval" : 5
}

将 OSGi Profile 与 Bundlor 一起使用

工程 | Ben Hale | 2009年5月18日 | ...

管理和转换像 SpringSource Enterprise Bundle Repository 中包含的那么多 bundle 时,记住哪些包被委托引导(boot delegated)、从系统 bundle 导出或从系统中的其他 bundle 导出变得非常困难。这些信息很重要,因为您可能不想导入被委托引导的包,您可能确实想导入系统 bundle 中的包(版本为“0”),并且您想为所有其他包定义自定义导入。记住哪些包属于这些类别中的每个类别最终容易出错,并且定义模板…

订阅 Spring 通讯

订阅 Spring 通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速前进。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区即将举行的所有活动。

查看全部