使用 Spring BlazeDS 集成 1.0

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

今天,我们宣布开源 Spring 项目组合的最新成员 Spring BlazeDS 集成的 1.0 GA 版本正式发布。为此,我认为是时候更新我的之前的入门文章了。回顾一下

该项目的目的是简化使用 Adobe Flex 作为前端客户端构建 Spring 驱动的富互联网应用程序的过程。其目标是通过提供对使用开源 Adobe BlazeDS 项目及其强大的远程处理和消息传递功能(结合熟悉的 Spring 编程模型)的一流支持来实现此目的。

试用 Spring BlazeDS 集成

自从第一个 M1 版本以来,我们已经真正扩展了功能集,其中包括:
  • 完整的 Spring Security 集成
  • 异步消息支持(具有 3 种不同的消息目标类型)
  • 完整的 XML 配置命名空间
  • 基于注解的远程处理配置选项
  • 许多高级定制钩子

现在包含在项目分发版中的是与 Adobe 合作构建的一套完整的示例,这些示例演示了各种功能的使用,称为 Spring BlazeDS 集成试用版。这些示例是开始使用该项目的好方法,在这里我将快速向您介绍……

dm Server 2.0 M3 中的克隆

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

克隆是 dm Server 2.0 中的一项功能,它会将某些捆绑包和库复制到作用域应用程序(即 PAR 或作用域计划)中,如路线图中所述。

对 dm Server 中克隆的支持在过去几个冲刺中稳步发展。基本机制在 M1 中已到位:克隆可以通过以下方式触发

  • 手动指定导入库或导入捆绑包上的指令 sharing:=clone
  • 当作用域应用程序由于 uses 约束冲突而无法解析时自动触发。

此后,代码得到了一些整理,为 Spring 框架克隆的常见情况添加了一个主要的性能优化,添加了日志消息以指示哪些捆绑包已被克隆,改进了跟踪,并修复了一些错误。

我们注意到,手动克隆是一个相对安全的操作,因为它完全在用户的控制之下。但是,自动克隆始终是推测性的。它由 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 安全性中使用表达式。与熟悉的属性和基于投票者的机制相比,这带来了许多新的可能性。一个简单的示例可能是一个好的开始。这是一个用于 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 的势头让 Red Hat 感到担忧,Spring Framework 作为企业 Java 的事实上的标准组件模型也在不断发展。

“JBoss 开放选择战略”似乎是一种重新包装,而不是新技术,它试图将 JBoss 定位为在不断变化的需求的新世界中仍然具有相关性。重新包装显然具有反应性,而且很多……

OSGi Web 容器对 dm Server 的意义

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

在我之前的文章之后,许多人一直在询问转向 OSGi Web 容器将对 dm Server 产生什么影响。最常见的问题是

  • 添加了什么?
  • 保持不变的是什么?
  • 有什么变化?
  • 如何保持最新?

我将分别解答这些问题。如果您还有其他问题,请随时发表评论。

添加了什么?

与 Web 容器 RI 集成将使 dm Server 能够访问 OSGi Web 容器标准的所有功能。这包括处理 WAR 的标准模型,对webbundle URL 方案的支持以及对 Web 容器扩展程序的支持。

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

保持不变的是什么?

您会很高兴地知道,您在 dm Server 中了解的关于 Web 应用程序的大部分内容保持不变。

使用 dm Server 部署程序

除了对webbundle URL 的支持外,仍然可以使用 dm Server 部署程序部署 WAR 文件。所有路径都支持部署程序,包括拾取目录、部署程序 MBean 和管理控制台。

使用 dm Server 部署程序部署时,将从配置的存储库链中可用的捆绑包自动安装 WAR 文件依赖项。

WAR 部署模式

程序员指南中提到的所有 WAR 类型都保留了下来——事实上,它们是 Web 容器标准的一部分。

系统包导入

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

有什么变化?

我们的目标是保持 dm Server 中大部分功能不变,但是转向 Web 容器确实需要进行一些更改。与此同时,我们正在利用代码重构来整合我们从用户那里看到的更受欢迎的功能请求。

Web 模块已被移除

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

对于今天正在使用 Web 模块的用户,我非常想知道您最喜欢的功能以及您不愿意失去的功能。没有什么理由不能在 Web 容器 Web 捆绑包之上重新设计重要的 Web 模块功能。

切换到 Tomcat 配置格式

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

我仍在确定配置文件的存储位置的具体细节。我希望能够使用可以从 ConfigAdmin 中填充的占位符来参数化 Tomcat 配置文件

如何保持最新?

掌握进展情况最简单的方法是跟踪 Web 容器和 dm Server Web 的 SVN 存储库。您可以通过以下 URL 访问这些存储库:

我将定期在此处发布博客文章,您也可以使用#osgi#dmserver在 Twitter 上关注进展。

Spring Roo 快速入门

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

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

我需要坦白一件事。你们许多人知道我最近一直在忙着开发Spring Roo,但我还有一个未提交到Subversion的独立项目。另一个项目是筹备我们的婚礼,因为下个月我和我的未婚妻将出国结婚。因此,当我思考在这篇关于Roo的博客文章中可以向你们展示什么内容时,我突然想到应该利用这个机会使用Roo来构建我们婚礼的RSVP网站!所以今天我们将学习如何使用Roo构建一个婚礼RSVP网站,我的同事们评论说这是一个追求工作与生活平衡的进取例子。 :-)

进度更新

如果您错过了2009年5月1日发布的Spring Roo博客系列的第一部分,简而言之,我介绍了SpringSource新的开源生产力工具的愿景,该工具旨在帮助那些希望快速构建最佳实践Java Spring应用程序的人。正如许多参与alpha版本测试的人所发现的那样,Spring Roo提供了一种功能强大且易于使用的生产型应用程序开发方法,Roo背后的许多动力都源于第一个Jira问题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添加了版本控制说明。

在过去的几个月里,我一直在与来自OSGi企业专家组的Subbarao Meduri、Graham Charters、Hal Hildebrand和其他人一起研究RFC66 Web容器规范。Web容器规范定义了如何以标准方式在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以来的两次冲刺中,我们在最终版本方面取得了重大进展,无论是在新功能方面,还是在缺陷修复方面。如果您有兴趣了解我们一直在进行的所有工作,请查看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
}

使用带有Bundlor的OSGi配置文件

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

在管理和转换SpringSource企业Bundle存储库中包含的众多Bundle时,记住哪些包是引导委托的、从系统Bundle导出的还是从系统中的其他Bundle导出的会变得非常困难。此信息很重要,因为您可能不希望导入引导委托的包,您可能希望以“0”导入系统Bundle包,并且您希望为所有其他包定义自定义导入。记住哪些包属于这些类别中的每一个类别最终会容易出错,并且定义模板……

Grails 1.1.1 发布,包含 Google App Engine 支持

工程 | Graeme Rocher | 2009年5月14日 | ...

今天,我们很高兴地宣布Grails 1.1.1的可用性,它在对Grails 1.1进行许多增量改进的同时,还引入了对Google AppEngine的官方支持。

Groovy本身自从推出以来就一直在AppEngine上运行,但我们必须在Grails中进行一些调整才能使Grails应用程序在AppEngine上运行。

这其中包括引入一个AppEngine插件,该插件用JDO(很快将是JPA)替换Hibernate进行持久化,以便利用Google的DataStore API。AppEngine插件还集成了AppEngine开发……

获取Spring通讯

通过Spring通讯保持联系

订阅

领先一步

VMware提供培训和认证,以加快您的进度。

了解更多

获取支持

Tanzu Spring在一个简单的订阅中提供对OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部