STS 3.2.0 的性能改进

工程 | Martin Lippert | 2013 年 3 月 12 日 | ...

最新发布的 Spring Tool Suite (3.2.0) 在许多不同领域包含了大量的性能改进。我们不仅采纳了 Eclipse Juno SR2 维护版本(修复了新 Eclipse 4 平台 UI 的大量性能问题)中的最新改进,还在许多 STS 内部组件的性能方面进行了努力,特别是针对 Spring 项目的 Java 编辑和构建时间。

为了展示这些改进,这里有一个快速的屏幕录像,展示了 STS 3.1.0 和 3.2.0 的对比

还有更多工作要做,我们将继续致力于 STS 3.3.0 版本(计划于 2013 年 7 月发布)的这些领域。如果您想了解更多细节,关注进一步的改进,提交更多信息,和/或报告具体的性能或内存问题,请关注/使用此 JIRA 票证: https://issuetracker.springsource.com/browse/STS-3054

SpringOne 2GX 2012 回放:使用开放技术解决消息挑战,Spring Integration 和 Spring Batch 简介

新闻 | Pieter Humphrey | 2013 年 3 月 12 日 | ...

使用开放技术解决消息挑战

对于现代应用,许多企业面临着一些新的消息挑战,例如消息层的水平可伸缩性、异构消息系统和访问方法,以及极限事务处理。本次演讲/演示将涵盖企业如何利用 Spring 和 RabbitMQ 技术克服这些消息挑战。

Tom 将论证 AMQP 的优势,解释 SpringSource 如何通过 Spring AMQP 和 Spring Integration 提供 AMQP 支持,解释 RabbitMQ 作为一种现代消息解决方案如何提供一个可靠、高可用、可伸缩、可移植且具有可预测和一致吞吐量及延迟的消息系统,并演示如何将 Spring Integration 和 RabbitMQ 逐步引入标准的 Spring Web 应用中。


 

关于演讲者

Tom McCuch

Tom McCuch

Tom McCuch 是 Hortonworks 的解决方案工程师,拥有超过二十二年的软件工程经验。Tom 专注于需要高可靠性、可用性和可伸缩性 (RAS) 功能的分布式系统的架构、实现和部署。在加入 Hortonworks 之前,Tom 在 SpringSource 工作,负责全球客户(包括金融服务、交通和能源行业)的现场架构。Tom 为多个行业的企业客户提供了基于开源软件的关键任务解决方案架构咨询,并领导了支持在美国和欧洲一级电信公司部署的下一代电信产品的企业级 Java 中间件的工程工作。

更多关于 Tom »

Oleg Zhurakousky

Oleg Zhurakousky

Oleg 是 Hortonworks 的首席架构师,负责利用 Hadoop 生态系统内外可用的各种开源技术构建可扩展的大数据解决方案。在加入 Hortonworks 之前,Oleg 曾在 SpringSource/VMware 工作,是一名核心工程师,负责 Spring Integration 框架,领导 Spring Integration Scala DSL 并为 Spring 项目组合中的其他项目做出了贡献。他在软件工程领域拥有 17 年以上的经验,涵盖软件架构与设计、咨询、业务分析和应用开发等多个方面。自 1999 年以来,Oleg 一直专注于专业的 Java 开发。自 2004 年以来,他深度参与了世界各地多个项目中使用各种开源技术和平台的工作,涉及电信、银行、执法、美国国防部等行业。作为演讲者,Oleg 在全球数十个会议上(例如 SpringOne、JavaOne、Java Zone、Jazoon、Java2Days、Scala Days、Uberconf 等)发表了研讨会。

更多关于 Oleg »

 

Spring Integration 和 Spring Batch 简介

在本次会议中,您将了解 Spring Integration 和 Spring Batch 是什么,它们有何不同,它们的共同点,以及如何将 Spring Batch 和 Spring Integration 结合使用。

我们将简要概述同名且极具影响力的书中描述的企业集成模式 (EIP)。基于这些模式,我们将接着看看 Spring Integration 如何实现消息驱动应用的开发。这不仅允许您对新应用或现有应用进行模块化,还使其易于与外部系统集成。

本次会议还将介绍 Spring Batch。Spring Batch 满足任何批处理过程的需求,无论是大型金融机构中的复杂计算,还是许多软件开发项目中存在的简单数据迁移任务。我们将介绍 Spring Batch 是什么,Spring 如何处理批处理的概念,以及 Spring 如何处理批处理流程的扩展,以便能够处理任何体量的数据。

您还将看到 Spring Integration 和 Spring Batch 如何最大限度地重用核心 Spring Framework 提供的集成支持。除了提供一个健壮、成熟的基础外,这还大大降低了所有熟悉 Spring 的开发人员的学习曲线。



关于演讲者

Gunnar Hillert

Gunnar Hillert

Gunnar Hillert 是 VMware, Inc. 旗下 SpringSource 的技术人员 (MTS) 成员。他是 Spring Integration、Spring AMQP 的提交者,并为 Cloud Foundry 项目做出了贡献。Gunnar 领导着亚特兰大 Java 用户组,并且是 DevNexus 开发者大会的组织者。

Gunnar 是德国柏林人,过去 11 年一直居住在亚特兰大。他是一位狂热的园丁,专注于种植各种亚热带植物,如香蕉、棕榈树和竹子。在时间允许的情况下,Gunnar 会练习他的西班牙语技能,他和妻子 Alysa 正在用三种语言(英语、德语、西班牙语)抚养他们的两个孩子。Gunnar 的博客地址是:http://blog.hillert.com/,您可以在 Twitter 上关注他:https://twitter.com/ghillert

更多关于 Gunnar »

Gary Russell

Gary Russell

Gary 拥有超过 30 年的软件工程经验,专注于企业集成,涉及各种平台,并自 90 年代末开始涉足 Java 领域。

他自 2004 年开始使用 Spring Framework 进行开发,并于 2009 年以顾问身份加入 SpringSource/VMware。从 2009 年到 2011 年底,他为数百名开发者讲授了 Core Spring 和 Spring 企业集成课程,并提供了 Spring Integration、Spring Batch 和 Core Spring 的企业集成咨询服务。

他担任 Spring Integration 项目的提交者近 3 年,并于 2012 年 1 月成为工程团队的全职成员。

更多关于 Gary »



本周 Spring - 2013 年 3 月 12 日

工程 | Josh Long | 2013 年 3 月 12 日 | ...

欢迎阅读新一期的《本周 Spring》!本周有很多关于 Spring Tool Suite 的新闻,务必查看

<A href="http://www.springsource.org/sts"> the new release</a> and try it out. 

One last reminder: be sure to join me Thursday for a <a href="http://www.springsource.org/node/4033">webinar introducing Spring's REST and mobile support</a> at 3:00PM GMT (for Europeans) and 10:00AM PST (for North America). 
 
If you've wanted to learn how to build mobile applications for your Spring-based backend services, then this talk is for you. We'll look
at Spring's rich support for REST,
Android and mobile platforms, in general. 

  1. Jonathan Brisbin 宣布 Spring Data REST 1.1.0.M1 已发布。新版本基本上是完全重写。在新版本中,支持所有仓库,包括基于 MongoDB 和 GemFire 的仓库。
  2. Martin Lippert 宣布 Spring Tool Suite 和 Groovy/Grails Tool Suite 3.2.0 已发布。新版本比旧版本快得多,并包含对 Eclipse Juno SR2、OSX 高分辨率显示器的更新支持,以及与各种 Spring 项目(包括 Spring Integration 2.2)的更新兼容性。
  3. Rob Winch 宣布 Spring Security SAML 1.0.0.RC2 已发布。Spring Security SAML 是一个第三方贡献,为 Spring Security 提供 SAML 支持。
  4. Spring Integration 2.2.2 现已可用!新版本包含各种重要的错误修复。
  5. 我将于 2013 年 3 月 14 日进行一场网络研讨会 - 使用 Spring 进行多客户端开发!加入我,了解 REST、OAuth、Spring MVC、Spring Android 等等!
  6. 加入 Damien Dallimore 和 David Turanski 的网络研讨会,他们将介绍网络研讨会:扩展 Spring Integration 以支持 Splunk - 2013 年 3 月 28 日
  7. 新的 SpringOne2GX 回放现已在 YouTube 上提供高清版本:使用开放技术解决消息挑战,Spring Integration 和 Spring Batch 简介
  8. @SpringSource 正在发起一个(快速) 周边赠送活动
  9. Spring 和 Groovy/Grails Tool Suite 负责人 Martin Lippert 制作了一个视频,比较了工具套件在 3.1 版本和 3.2 版本的速度
  10. 说到 Spring Tool Suite,您是否有兴趣在 SpringSource Tool Suite 培训中节省 15%
  11. Yuan Ji 写了一篇不错的文章,介绍了如何使用 Spring Data MongoDB 持久化 Spring Social 连接。太棒了!我正准备自己撸起袖子写一个这样的实现!但这应该能省我一些工作。谢谢 Yuan!
  12. Object Partners Inc. 的博客上传了一个视频,介绍了 Spring Batch 2 以及如何将其与 Grails 集成。这相当酷!他们使用 Groovy DSL 而非 Spring Batch 的原生 XML 格式来减少冗余。一个新的替代方案是 Spring Batch 2.2 中的 Java 配置支持。
  13. Petri Kainulainen 发布了一篇博客文章,介绍了 Spring Data SOLR 查询方法
  14. Ippon Technologies 的博客有一篇不错的文章,关于对 Spring Petclinic 示例应用进行性能调优
  15. Michael Simons 写了一篇不错的文章,关于如何将流行的、面向组件的 Web 框架 Vaadin 与 Spring 结合使用
  16.  Nicolas Frankel has a nice post 
     <a href="http://blog.frankel.ch…

Spring Tool Suite 和 Groovy/Grails Tool Suite 3.2.0 发布

版本发布 | Martin Lippert | 2013 年 3 月 11 日 | ...

亲爱的 Spring 社区:

今天我们很高兴地宣布基于 Eclipse 的工具的下一个主要版本:Spring Tool Suite (STS) 3.2.0 和 Groovy/Grails Tool Suite (GGTS) 3.2.0。

本次发布的亮点包括:

  • Eclipse Juno SR2 更新(包括 Mylyn、EGit、m2e、m2e-wtp)
  • 添加了对 Mac OSX 高分辨率显示器的支持
  • 更新了捆绑的 tc Server 至 2.8.2
  • 使用 Spring 项目时的主要性能改进
  • Live Spring Beans Graph 的主要改进
  • 添加了对 Spring Integration 2.2 的支持
  • 更新以包含 Groovy 2.0.7 和 Grails 2.2.1(Groovy 2.1 可从仪表板获取)

我们继续发布基于 Eclipse 3.8 和 Eclipse 4.2 的发行版。虽然 Eclipse 4.2 版本在 Eclipse Juno SR2 版本中有了很大改进,但为了获得最佳性能和稳定性,我们仍然推荐使用基于 3.8 的版本。

要下载发行版,请访问:

详细的新特性和值得注意的事项可以在这里找到:STS/GGTS 3.2.0 新特性与注意事项

STS/GGTS 3.0.0 和 3.1.0 的更新可通过自动…获取

Spring Data REST 1.1.0.M1 发布

版本发布 | Jon Brisbin | 2013 年 3 月 11 日 | ...

Spring Data 团队很高兴宣布在使用 RESTful 语义将领域对象导出到 Web 方面取得的下一个重大进展:Spring Data REST 1.1.0.M1 现已在 SpringSource 里程碑仓库中提供。

Spring Data REST 主页 | GitHub 上的源代码 | 参考文档

将领域对象导出到 Web

Spring Data REST 是一组 Spring MVC 组件,您可以将其添加到自己的 Spring MVC 应用程序中,以便使用 RESTful、HATEOAS 语义将 Spring Data 仓库导出到 Web。它通过将仓库导出到可通过几种不同方式配置的 RESTful URL,提供一致的交互 API。

Spring Data REST 支持顶级实体(由 Spring Data 仓库直接管理的领域对象)的 CRUD 操作,只需编写一行代码定义一个继承 Spring Data CrudRepository 接口的接口即可。完成后,您的实体就具备完整的 RESTful 语义。您可以创建新实体、更新现有实体并使用标准 URL 删除它们,这些 URL 遵循 HATEOAS 原则,是可发现的。这意味着访问您的 Spring Data REST 应用程序的用户代理无需提前了解您正在导出的资源。它可以通过对 JSON 中提供的 URL 进行连续调用来发现存在哪些实体以及这些实体上存在哪些关系。这些“链接”是 HATEOAS REST 应用程序的真正基础和力量所在。

从零开始的改变

1.1 版本实际上是彻头彻尾的重写。它不仅比 1.0 版本更容易配置,而且更好地符合了 Spring MVC 对迁移到 Spring 3.2 的预期,但 Spring Data REST 内部最大的变化是它现在支持 JPA 之外的其他类型的 Spring Data 仓库实现。无论使用何种后端数据存储,CRUD 和管理关系(如果数据存储支持)的 HTTP 语义保持不变。

这意味着现在可以在同一个 Spring Data REST 应用程序中导出 JPA 实体和 MongoDB 实体,并使用通用的 URL 结构以及标准 Spring HATEOAS Resource 表示方式来访问这些实体和集合。访问这些 RESTful URL 的用户代理不需要知道后端实体由哪个数据存储管理,最重要的是,您无需编写任何代码即可获得此功能!

MongoDB 支持

Spring Data REST 1.1 现在支持导出 MongoDB CrudRepository 实现。适用于 JPA 实体的相同 HTTP 语义也适用于 MongoDB @Document 实体。GET、POST、PUT、DELETE 当然都支持,@DBRef 也支持。您可以使用 GET、POST、PUT 和 DELETE 查看和管理两个文档之间的关系,并且可以基于您的 @Query 定义导出查询方法。请参考 spring-data-mongodb 参考文档,了解对象映射与 JPA 风格映射有何不同以及查询定义如何工作的完整详细信息。

Gemfire 支持

Spring Data REST 1.1 现在支持将使用高性能 Gemfire 数据库 的实体导出到不同的区域 (Region)。阅读 Spring Data Gemfire 文档,了解丰富的配置选项以及 Gemfire 中的 POJO 映射与其他映射技术有何不同的完整说明。

接下来支持 Neo4J

Spring Data REST 1.1 现在将支持 Neo4J GraphRepository,通过下一版本的 spring-data-neo4j 2.3。当该版本普遍可用时(应在 Spring Data REST 1.1 RELEASE 普遍可用时或之前),您将能够使用标准的 HATEOAS 语义访问 @NodeEntity 及其关系,就像您对其他数据存储所做的那样。

将其添加到现有应用中

Spring Data REST 的设计方式使得您如果愿意,可以专门为 Spring Data REST 应用程序创建一个完整的应用。毕竟它只是一个标准的 Spring MVC Web 应用。但是当您将 Spring Data REST 添加到您自己的服务中时,事情会变得非常有趣。

Spring HATEOAS 的作者 Oliver Gierke 创建了一个示例应用程序,演示了在现代 Web 应用程序中如何使用 HATEOAS 原则。该应用程序名为 spring-restbucks,是对 REST 服务系统神学中描述的 Restbucks 应用程序的实现:由 Jim Webber、Savas Parastatidis 和 Ian Robinson 所著的 REST in Practice

混合 REST 服务

通过将 Spring Data REST 与您的其他 RESTful 服务混合使用,您可以实现 Spring Data REST 导出的领域对象(您无需编写任何代码即可将其公开)与那些不代表实际实体而是代表流程的服务之间的无缝集成。在 spring-restbucks 应用程序中,您可以看到支付服务如何与领域对象 CRUD 交互的示例,其中信用卡支付处理由自定义控制器处理,而对象 CRUD 由 Spring Data REST 处理。您的自定义控制器实际上可以“搭便车”使用 Spring Data REST 的 URL,从而在整个应用程序中保持一致且简单的 URL 结构,无论该 URL 指向您的自定义控制器、Spring Data REST JPA 仓库,还是其他任何受支持的仓库风格。

这不是排他性的

使用 Spring Data REST 并非非此即彼。如果您不想将所有仓库都暴露给 Web 客户端,没问题!有几种不同的方式可以关闭仓库的功能。您可以将注解嵌入到源代码中,或者,如果您无法访问或根本不能添加 Spring Data REST 注解,您可以使用流畅的 DSL 风格配置来告诉 Spring Data REST 如何暴露您的资源。在您的应用程序中使用 Spring Data REST 并不意味着您只能采用一种方式。Spring Data REST 的结构使其可以与您现有的应用程序很好地协同工作,因此您可以纳入 Spring Data REST 中您想要的功能部分,同时仍然保留您习惯于在 Spring MVC 控制器中创建的所有自定义编码服务。

JSONP 支持迁移到过滤器

Spring Data REST 1.0 中内置的 JSONP 支持已从核心框架中移除,取而代之的是即将推出的通用 JSONP Servlet 过滤器,该过滤器将比 1.0 版本中 JSONP 的实现方式效果更好。当该过滤器普遍可用时,JSONP 支持不仅可以添加到 Spring Data REST,还可以添加到几乎任何基于 Servlet 的 REST 资源中。

安装和文档

要开始尝试 Spring Data REST,请查看参考文档,了解其大概情况,然后只需在您自己的应用程序中添加对 spring-data-rest-webmvc artifact 的依赖(当前版本为 1.1.0.M1,位于SpringSource 里程碑仓库中),然后导入 Spring Data REST 配置,就像您在 spring-restbucks 应用程序中看到的那样

在 CONFESS_2013 了解更多

如果您计划参加 4 月第一周在维也纳举行的 CONFESS_2013 大会,那么您可以在我关于将实体导出到 Web 的演讲中了解所有关于 Spring Data REST 的内容。

链接

Spring Data REST 主页 | GitHub 上的源代码 | 参考文档

Spring-AMQP 1.1.4.RELEASE 现已可用

版本发布 | Gary Russell | 2013 年 3 月 5 日 | ...

我们很高兴地宣布 Spring-AMQP 1.1.4.RELEASE 现已可用。

这是一个小的维护版本,修复了 AMQP Log4j Appender 中的一些小问题,并纠正了 spring-rabbit manifest 中针对 OSGI 用户的一个问题。

发布说明可以在这里找到。

项目主页在这里,您可以在其中找到文档、下载和 API 的链接。

SpringOne 2GX 2012 回放:Spring Data Repositories 深度解析,Cascading 简介

新闻 | Pieter Humphrey | 2013 年 3 月 5 日 | ...

Spring Data Repositories – 深度解析

仓库抽象层是 Spring Data 项目的核心组成部分之一。它提供了一个一致的、基于接口的编程模型,可以轻松实现数据访问层。本次演讲将从简要介绍开始,随后深入探讨最佳实践和实现模式。s

我们将以概述在此通用仓库抽象之上实际可以构建的内容来结束本次会议,并讨论与 Spring MVC 和 REST Web 服务集成的连接点。


关于演讲者

Oliver Gierke

Oliver Gierke

Oliver Gierke 是 VMware 旗下 SpringSource 的工程师,Spring Data JPA 模块的项目负责人,并参与了其他 Spring Data 模块(如 MongoDB)的工作。他从事企业应用和开源项目开发已有 6 年多。他的工作重点围绕软件架构、Spring 和持久化技术。他经常在德国和国际会议上发表演讲,并撰写技术文章。

 

Cascading 简介

Cascading 简介,这是一个用于 Java 开发者在 Apache Hadoop 上部署健壮、企业级应用程序的应用框架。我们将从最简单的 Cascading 程序(分布式文件系统中的文件复制)开始,然后逐步展示一个基于 Twitter Feed 的 Java 社交推荐系统。

Cascading 简介,这是一个用于 Java 开发者在 Apache Hadoop 上部署健壮、企业级应用程序的应用框架。我们将从最简单的 Cascading 程序(分布式文件系统中的文件复制)开始,然后逐步展示一个基于 Twitter Feed 的 Java 社交推荐系统。

目标是展示如何使用“大数据”,从笔记本电脑上的样本数据集开始,生成可以部署在超大型集群上的 JAR 应用程序。

我们将展示 Cascading 中可伸缩应用程序的最佳实践,如何利用 TDD 功能等。




关于演讲者

Paco Nathan

Paco Nathan

数据科学家 @ http://ConcurrentInc.com。http://Cascading.org 开源项目的开发者布道师。精通 Hadoop、R、云计算、机器学习、预测分析、自然语言处理。拥有斯坦福大学数学科学和计算机科学学士学位,在技术行业有 25 年以上经验。在过去几年里,我一直在领导数据科学团队,处理大规模 MapReduce 应用程序。



本周 Spring - 2013 年 3 月 5 日

工程 | Josh Long | 2013 年 3 月 5 日 | ...

欢迎回到新一期的《本周 Spring》。

尽管如此,我们还有很多内容要介绍,所以让我们开始吧!

  1. 我将于 2013 年 3 月 14 日进行一场网络研讨会 - 使用 Spring 进行多客户端开发!加入我,了解 REST、OAuth、Spring MVC、Spring Android 等等!
  2. 加入 Damien Dallimore 和 David Turanski 的网络研讨会,他们将介绍网络研讨会:扩展 Spring Integration 以支持 Splunk - 2013 年 3 月 28 日
  3. 新的 SpringOne2GX 回放现已在 YouTube 上提供高清版本:Spring Data Repositories:深度解析,以及 Cascading 简介
  4. @SpringSource 正在发起一个(快速) 周边赠送活动
  5. Spring Security 负责人兼专家 Rob Winch 宣布了对 Spring Security 中基于 Java 的配置的初步支持。这是一个重要的里程碑。最近,我们看到了 Spring Social、Spring Batch 以及现在 Spring Security 都提供了 Java 配置作为 XML DSL 的替代方案。查看 Spring Security 基于 Java 的配置以获取更多详细信息。
  6. 我有幸访问了中国的阿里巴巴集团,他们在 Spring 方面做着一些惊人的事情。在我的博客中阅读更多内容:Spring 在中国规模的应用:阿里巴巴集团
  7. 前几天有人问我这个问题,我觉得值得一提:在你的 Spring MVC @Controller 类处理方法中,确保 BindingResult 参数紧跟在模型命令参数之后,像这样
     <CODE>@RequestMapping(...) public String handleRequest( @ModelAttribute @Valid YourCustomPojo attempt, BindingResult result)</code>. 
    	 
    	 In this example, <CODE>handleRequest</Code> will validate the POJO (<CODE>YourCustomPojo</code>) - checking the POJO for JSR303-annotations and attempting to apply the constraints because the POJO is annotated with <CODE>@Valid</CODE> - and stash any errors  in the <CODE>BindingResult</code>, which it makes available if we ask for it.
    	 
    	 
    
  8. 说到使用 JSR 303 进行验证,我发现了一篇写于 2010 年的精彩文章,我觉得值得收录。这篇文章介绍了一个自定义注解,名为 @SpelAssert,其功能类似于 JSR303 的 @ScriptAssert
  9. 您想将 Cloud Foundry 与 CloudBees 提供的持续集成功能一起使用吗?我们已经为您准备好了!Cloud Foundry 和 Cloud Bees 团队合作整合了该过程,分步介绍在此处提供
  10. Alvaro Videla 介绍并开源了他的 RabbitMQ 模拟器。RabbitMQ 模拟器是一个极好的可视化工具,用于演示 RabbitMQ 的拓扑结构如何工作。
  11. Gary Russell 宣布 Spring AMQP 1.1.4 现已可用
  12. Fstyle 的博客有一篇有趣的文章,关于如何使用Spring MVC 测试模拟来对 Spring Security 进行单元测试
  13. 我们的朋友 Boris Lam 又回来了,这次他带来了一篇关于如何集成 Spring Data、MongoDB 和 JavaServer Faces 的文章。
  14. Indika Prasad 在 Programmer's Guide 博客上整理了一篇教程,展示了如何使用Spring Security 与 Webdav 和密码加密结合使用
    </LI>
    <LI> The  <EM>Java J2EE SOA Key Points</EM…

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

领先一步

VMware 提供培训和认证,助您飞速发展。

了解更多

获取支持

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

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部