本周 Spring 动态 - 2013 年 6 月 18 日

工程 | Josh Long | 2013 年 6 月 19 日 | ...

欢迎回到《本周 Spring 动态》!这真是激动人心的一周!我们正快速接近 SpringOne2GX 2013 的最后冲刺阶段,各项筹备工作正全速进行。今年的盛会一定会令人难忘。我希望能告诉你们更多细节,但请相信我,你绝对不能错过今年的展会! :)

好了,让我们继续本周的精彩内容回顾!

  1. Mark Pollack 宣布了 Spring XD 1.0 milestone 1 正式发布。Spring XD 是一个统一的、分布式的、可扩展的系统,用于数据摄取、实时分析、批处理和数据导出。该项目的目标是简化大数据应用的开发。
  2. 6 月 27 日,Liberty 大学 的 Tony Erksine 将为我们带来《如何用 Spring 说话并影响他人》的指导,这是一堂实用的课程,涵盖了软技能和技术采纳策略,这些对于帮助公司里的其他人对新技术(在此案例中是 Spring)感到兴奋并开始使用它们至关重要。
  3. 想要一张 SpringOne 2GX 2013 的门票吗?如果你是 Spring 的支持者,请在 2013 年 6 月 21 日前,在我们的社区论坛上展示你的成果并遵循这些说明。你可能成为我们 5 位幸运获奖者之一!(如果你是 Groovy & GrailsCloud Foundry 的支持者,别担心,我们稍后会为你推出新的比赛!)
  4. 请访问 gopivotal.com,阅读 Hadoop 101 系列的下一篇博客——如何将 Spring Batch 与 Spring for Apache Hadoop 结合使用
  5. 我们很高兴与 Manning Publications 联合推出《A Week of Spring》(Spring 一周动态)。查看这篇帖子,了解更多关于涵盖 SpringSource 技术图书的超值折扣信息!我们每天都会发布一个包含两本书的 50% 折扣码。
  6. 我们的朋友 Tobias Fiohre 又回来了,这次他带来了不止一个、不止两个,而是三个关于 Spring Batch Java 配置支持的帖子。这功能刚刚在最新发布的 Spring Batch 2.2.0.RELEASE 中推出。第一篇帖子 比较了 Spring Batch 的 Java 配置支持与 XML 配置的异同。第二篇帖子关注 Spring Batch 的 StepScope,它允许你在运行时(而不是设计时)提供参数来配置 job。第三篇帖子则探讨了如何将新的配置风格与 Spring 的环境配置文件功能一起使用
  7. Johnathan Mark Smith 撰写了一篇关于如何使用 Spring MVC 和 Spring MVC Test 的帖子。
  8. Xavier Padró 撰写了一篇很好的文章,介绍了 Spring 的核心面向切面编程(AOP)支持。
  9. 来自 Broadleaf Commerce 项目关于他们从 GWT 迁移到 Spring MVC 的网络研讨会视频回放现已上线,可在我们的 SpringSourceDev YouTube 频道观看。
  10. 这严格来说与 Spring 没有直接关系,但我认为值得一提:Java 9 计划停止对编译 Java 1.4 及更旧版本源代码的支持。Java 8 即将到来(终于!),Spring 4 将为 Java 8 的 lambda 表达式提供一流的支持。Java 6 已于 2013 年 2 月停止支持,所以如果你还没有升级到 Java 7,可以考虑在明年初 Java 8 发布时直接升级到 Java 8。如果你现在正在进行迁移,至少考虑一下 Java 7。当然,Spring 可以很好地兼容旧版本的 JDK,但我们经常在有新语言特性可用时提供特定于新版本的功能。例如,当 Java 5 使注解(如 @Transactional)成为可能时,我们便推出了它们,作为我们当时对 commons annotations 的主要支持的补充,尽管我们仍然支持 Java 1.3 和 1.4。Java 8 也不例外。
  11. 我上周进行了一次关于使用 Spring 构建 REST API 的网络研讨会。网络研讨会的视频很快就会发布在我们的 SpringSource Developer YouTube 频道上。对于许多询问的人来说,代码可以在我的 GitHub 账户上找到,演示文稿可以在我的 SlideShare 账户上找到。快去看看吧!
  12. Petri Kainulainen 撰写了一篇非常详细且易于阅读的帖子,介绍了如何在配置 @Scheduled 注解的 CRON 表达式时,从属性文件中注入属性

Spring Social Facebook 1.0.3 发布

版本发布 | Craig Walls | 2013 年 6 月 19 日 | ...

亲爱的Spring社区,

我很高兴地宣布 Spring Social Facebook 1.0.3.RELEASE 的发布。

Spring Social 是 Spring Framework 的一个扩展,它使您能够将 Java 应用程序连接到软件即服务 (SaaS) 提供商,例如 Facebook 和 Twitter。

Spring Social Facebook 1.0.3.RELEASE 的发布是为了应对 Facebook Graph API 即将在 2013 年 7 月 10 日实施的破坏性更改。具体来说,已解决以下破坏性更改:

  • 在评论列表中移除了 'count' 属性。
  • /checkins 资源的 checkins 功能已被弃用。所有 checkins 都应作为带有位置的 posts 进行。
  • 移除了群组的 'version' 属性。
  • Graph API 不再为大于原始图像尺寸的图像返回图像。

此外,Spring Social Facebook 的 API 绑定进行了一些小的改进。请参阅 更新日志 以获取详细信息。

要获取软件,请下载发行版,或将您构建文件中的 Spring Social Facebook 依赖项更改为引用 1.0.3.RELEASE。

重要提示:此版本包含的更改是为了使 Spring Social Facebook 能够在 2013 年 7 月破坏性更改之后正常工作。为了使此版本的 Spring Social Facebook 在 2013 年 7 月 10 日之前正常工作,您需要在 Facebook 上将您的应用程序配置为启用 2013 年 7 月的破坏性更改。在 Facebook 的应用程序配置中,转到“Settings->Advanced”,然后点击“July 2013 Breaking Changes”旁边的“Enabled”单选按钮。

我们邀请您在 Spring Social 论坛讨论此版本以及 Spring Social 1.1.0 的持续开发工作,并在 Spring Social Facebook 问题跟踪器报告任何错误或改进。

Spring XD 1.0.0.M1 发布

发布 | Gunnar Hillert | 2013年6月12日 | ...

亲爱的Spring社区,

Spring XD 团队很高兴地宣布 Spring XD 的第一个里程碑版本现已可供下载

Spring XD 使解决常见大数据问题变得容易,例如数据摄取和导出、实时分析和批处理工作流编排。第一个里程碑实现了许多功能并提供了大量文档

欲了解更多信息,请参阅项目主页发布说明博客文章

我们期待听到您的反馈,因为我们将继续努力争取最终的 Spring XD 1.0.0 版本。如果您有任何疑问,请使用 Stackoverflow(标签:springxd),要报告任何错误或改进,请使用 Jira 问题跟踪器 或提交 GitHub 问题

Spring XD 1.0 Milestone 1 发布

工程 | Mark Pollack | 2013年6月12日 | ...

今天我们很高兴地宣布 Spring XD 1.0 M1 版本发布 (下载)。Spring XD 是一个统一的、分布式的、可扩展的数据摄取、实时分析、批量处理和数据导出系统。该项目旨在简化大数据应用的开发。

从宏观角度来看,大数据应用与企业集成和批量应用有许多共同之处。在过去的 6 年里,Spring 通过 Spring Integration 和 Spring Batch 项目为构建集成和批量应用提供了成熟的解决方案。Spring XD 在此基础上构建,提供了一个轻量级的运行时环境,可以通过简单的 DSL(领域特定语言)轻松配置和组装。

在本篇博客中,我们将介绍 Spring XD 的关键组件,即 Streams(流)、Jobs(作业)、Taps(抽头)、Analytics(分析)以及用于声明它们的 DSL,还有运行时架构。更多细节可以在 XD 指南 中找到。

Streams (流)

Stream 定义了数据如何被收集、处理、存储或转发。例如,一个 stream 可以收集 syslog 数据,进行过滤,然后存储到 HDFS。Spring XD 提供了一个 DSL 来定义 stream。该 DSL 允许你从简单的类 UNIX 管道-过滤器语法开始构建线性处理流程,也可以使用扩展语法来描述更复杂的流程。

Sources and Sinks (源和汇)

一个简单的线性 stream 由以下序列组成:Input Source(输入源)、(可选) Processing Steps(处理步骤)和 Output Sink(输出汇)。举个简单的例子,考虑从 HTTP Source 收集数据并写入 File Sink。描述这个 stream 的 DSL 是:
http | file

你可以通过向 XD Admin Server 发送 HTTP 请求来让 Spring XD 创建一个 stream,该服务器默认运行在 8080 端口。在 M2 版本中,我们将提供一个交互式 shell 来与 XD 通信,但对于 M1,最简单的方式是使用 ‘curl’ 与 XD 进行交互。

curl -d "http | file" https://:8080/streams/httptest

Stream 的名称是 httptest,默认监听的 HTTP 端口是 9000,默认的文件位置是 /tmp/xd/output/${streamname}

如果你通过 curl 向 9000 端口发送一些数据:
curl -d "hello world" https://:9000

你将在文件 /tmp/xd/output/httptest 中看到字符串 hello world。

要更改默认值,你可以传递选项参数:

http --port=9090 | file --dir=/var/streams --name=data.txt

M1 中支持的 sources 包括 file、time、HTTP、Tail、Twitter Search、Gemfire (Continuous Queries)、Gemfire (Cache Event)、Syslog 和 TCP。 支持的 sinks 包括 Log、File、HDFS…

Spring Integration 2.2.4 和 2.1.6 版本可用

发布 | Gary Russell | 2013年6月11日 | ...

我们很高兴地宣布 Spring Integration 2.2.4 和 2.1.6 维护版本可用。

Spring Integration 的 Twitter 模块使用了 Spring Social Twitter,为了应对 Twitter v1.0 API 的退役,该模块已更新至 1.0.5 版本。Spring Social Twitter 1.0.4.RELEASE [1] 和 1.0.5.RELEASE [2] 的公告提供了关于该项目近期更新的更多信息。对于任何使用 Twitter 搜索适配器的人来说,v1.1 中的底层搜索 API 需要授权,因此您需要更新任何 TwitterTemplate 的配置(如果尚未更新……

本周 Spring - 2013 年 6 月 11 日

工程 | Josh Long | 2013年6月11日 | ...

各位,欢迎来到“本周 Spring”的又一期!本周我人在纽约市,在 NYC Java Meetup 和 ScalaDays 向开发者们介绍 Spring。本月我们有很多网络研讨会,请务必查看下面的详细信息!

  1. 想要一张 SpringOne2GX 2013 的门票吗?如果您是 Spring 冠军,请在 2013 年 6 月 21 日前在我们的冠军论坛上展示您的才华并遵循以下说明。您可能成为我们 5 位幸运得主之一!(如果您是 Groovy & GrailsCloud Foundry 冠军,请放心,我们将为您推出未来的比赛!)
  2. Oliver Gierke 宣布 Spring Data Babbage 发布,这是下一个 Spring Data 发布火车的第一里程碑。此版本包含大量新功能,请务必查看发布说明
  3. Spring Batch 2.2.0 已发布!这是一个主要版本,除了其他许多功能外,它还支持 Spring Data、Java 配置、AMQP 和 SQLFire。Spring Batch 以及我们对专家组的参与对最近已定稿的 JSR-352 规范产生了重大影响
  4. 基于 Eclipse Kepler 4.3 的 Spring Tool Suite and Groovy / Grails Tool Suite 3.3.0 M2 已发布。此里程碑版本改进了 Java 配置支持,并为 Spring Framework 4 做好了准备。
  5. Craig Walls 宣布 Spring Social Twitter 1.0.5 和 Spring Social 1.0.3 已发布!新版本修复了一些错误,并已发布以应对 Twitter API 1.0 版本即将弃用的情况。
  6. Gary Russell 也宣布了 Spring Integration 2.2.4 和 2.1.6 的维护版本,以整合上面提到的 Spring Social Twitter 更新。
  7. 我将于周四举行一个关于使用 Spring 进行 RESTful 服务设计的网络研讨会。一如既往,将有两个场次——下午 3 点 GMT 和上午 10 点 PST——以适应尽可能多的时区。网络研讨会将介绍 Spring 构建 RESTful 服务的堆栈。我们将从一个简单的 API 开始,然后进行高级化,引入 Spring HATEOAS 的超媒体控制,引入 Spring Data REST 的约定导向的基于仓库的 API,通过 Spring Security OAuth 和 Spring Social 进行安全,并处理文件上传、异常处理、记录分页和 Ajax 等常见场景。期待在那里见到您!
  8. 请勿错过 6 月 18 日的 Jon Brisbin,届时他将介绍 Reactor - 一个用于 JVM 异步应用程序的框架。Reactor 为需要高吞吐量并且执行相对较小块的无状态、异步处理的应用程序提供了一个基础框架。
  9. 请于 6 月 27 日加入 Liberty 大学 的 Tony Erksine,他将指导我们如何沟通 Spring 并影响他人,这是一堂关于软技能和技术采纳策略的实用课程,这些策略对于帮助公司里的其他开发者对新技术感到兴奋并使用它们至关重要——在本例中是 Spring。
  10. 我于三月份在精彩的 DevNexus 会议上发表了关于 Spring 3.1、3.2 和 4.0 的最新演讲,该演讲现已在 InfoQ 上发布。请务必观看该演讲,同时也要查看我在 JAXConf 上演讲的更更新的版本,可在我的 SlideShare 帐户上找到
  11. 前往 Pivotal 博客,阅读关于 Hadoop 编程的简短介绍,其中将引导您完成一个简单的单词计数程序。该示例研究了经典的单词计数问题,然后探讨了生态系统中的其他解决方案,如 Pig、Hive 和 Cascading。该系列的下一篇博文将向初学者介绍 Spring for Apache Hadoop,提供一个统一、一致的替代方案,以替代本文讨论的四种方法。
  12. 相关新闻,如果您在纽约市地区,请于周三晚上加入我,我将在 10gen 办公室为 NYCJava meetup 做同样的演讲。再次感谢 10gen,MongoDB 的母公司,主办此次 meetup。
  13. JavaBeat 博客有一篇关于如何使用 Spring 强大的 multipart 文件上传支持的精彩博文。Spring 的支持抽象了常见的文件上传 API——包括 commons-fileupload API 和 Servlet 3 API——让您可以使用这些 API 进行 HTTP multipart 编码的文件上传,通常在 Web 应用程序或 REST 服务中。绝对值得一读,快来看看!
  14. Idan Fridman 汇总了一些常见的 Spring Integration 组件类型,包括拆分器转换器聚合器
  15. 对于那些希望将 Spring 技能提升到新专业水平的人来说,SpringSource 刚刚发布了 2013 年 7 月的专业 Spring 培训日程
  16. Spring 教程博客有一篇很棒的文章,介绍 Spring 的 @Async@Scheduled 注解

Spring Data 发布火车 Babbage 的第一个里程碑已到

工程 | Oliver Drotbohm | 2013年6月10日 | ...

我很高兴宣布 Spring Data 发布火车 Babbage 的第一个服务里程碑版本。它包括以下模块

第一个里程碑包含相当多的新功能,以及在 Arora 服务版本中已发布的所有错误修复

发布概览

此版本的大部分更改都已整合到 Spring Data Commons 中,以构建下一代 Spring Data 项目的坚实基础,并确保该基础能够快速成熟。在此发布火车中发布的其他模块也已适应这些更改并从中受益。

我们已升级到 Querydsl 3.x API,以适应其主版本引入的更改。repositories 抽象层已添加了对忽略大小写的排序以及派生查询的 count…By…(…) 投影的支持…

Spring Social Twitter 1.0.5 发布

版本发布 | Craig Walls | 2013年6月10日 | ...

亲爱的Spring社区,

我很高兴地宣布 Spring Social Twitter 1.0.5.RELEASE 的发布。

Spring Social 是 Spring Framework 的一个扩展,它使您能够将 Java 应用程序连接到软件即服务 (SaaS) 提供商,例如 Facebook 和 Twitter。

Spring Social Twitter 1.0.5.RELEASE 是一个错误修复版本,它解决了自 1.0.4.RELEASE 以来发现的几个错误。具体来说,已修复以下问题:

  • 使用应用程序令牌创建 TwitterTemplate 时的 Spring 3.0.x 兼容性问题。
  • SearchMetadata 中 max_id 属性的反序列化不正确。

与上一个版本一样,Spring Social Twitter 1.0.5.RELEASE 的发布是为了应对 Twitter API 1.0 版本将于明天,即 2013 年 6 月 11 日退役。

要获取软件,请下载发行版,或将您构建文件中的 Spring Social Twitter 依赖项更改为引用 1.0.5.RELEASE。

我们邀请您在 Spring Social 论坛讨论此版本以及 Spring Social 1.1.0 的持续开发工作,并在 Spring Social Twitter 问题跟踪器报告任何错误或改进。

Hadoop 101:使用本地库、Hive、Pig和Cascading编程MapReduce

新闻 | Pieter Humphrey | 2013年6月10日 | ...

请访问Pivotal博客,了解Hadoop编程简短入门指南,它将引导您完成一个简单的词数统计程序。通过四种编码方法了解Apache Hadoop的基础知识。

  • 使用本地Hadoop库
  • Pig、Hive和Cascading等替代库

请继续关注该系列的下一篇博客文章,届时将为初学者介绍Spring for Apache Hadoop,它提供了一个统一、一致的替代方案,可以替代本文讨论的四种不同的方法。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有