本周的 Spring - 2013年6月18日
欢迎回到另一期《本周的 Spring》!多么忙碌的一周!我们正迅速接近前往SpringOne2GX 2013之旅的最后阶段,各项准备工作正在全力进行。今年的盛会将令人难忘。我希望我能告诉你们更多,但请相信我,今年您必须参加这场盛会! :)
无论如何,让我们开始总结吧!
- Mark Pollack 宣布了Spring XD 1.0 里程碑 1 的发布。Spring XD 是一个统一的、分布式的和可扩展的系统,用于数据摄取、实时分析、批处理和数据导出。该项目的目的是简化大数据应用程序的开发。
- 6月27日,加入来自 Liberty 大学的 Tony Erksine,他将指导我们如何谈论 Spring 并影响他人,这堂课将教授关于软技能和技术采用策略的实用课程,这些策略有助于让公司中的其他人对新技术(在本例中为 Spring)感到兴奋并使用它。
- 想要获得SpringOne 2GX 2013 的入场券吗?如果您是 Spring 冠军,请在我们的冠军论坛上展示您的实力并按照这些说明操作,截止日期为 2013年6月21日。您可能是我们 5 位幸运获奖者之一!(如果您是 Groovy 和Grails 或Cloud Foundry 冠军,请不要担心,我们将来会为您推出其他竞赛!)
- 访问 gopivotal.com 查看 Hadoop 101 系列中的下一篇博文 - 如何将 Spring Batch 与 Spring 结合用于 Apache Hadoop。
- 我们很高兴与 Manning Publications 联合推出Spring 周。请查看这篇博文,了解有关 SpringSource 技术书籍的大幅折扣的更多信息!我们每天都会发布两个书籍的 50% 折扣代码。
- 我们的朋友 Tobias Fiohre 再次回归,这次不是一篇,也不是两篇,而是三篇关于 Spring Batch 中 Java 配置支持的博文,这些博文刚刚在最新的 Spring Batch 2.2.0.RELEASE 中发布。第一篇博文介绍了Spring Batch 的 Java 配置支持与 XML 等效项的比较。第二篇博文介绍了 Spring Batch 的
StepScope
,它允许您使用运行时(而不是设计时)提供的参数配置job
。第三篇博文介绍了如何将新的配置样式与 Spring 的环境配置文件功能结合使用。 - Johnathan Mark Smith 发布了一篇关于如何使用 Spring MVC 和 Spring MVC Test的博文。
- Xavier Padró 发布了一篇不错的博文,介绍了 Spring 的核心面向方面编程支持。
- Broadleaf Commerce 项目关于从 GWT 迁移到 Spring MVC的网络研讨会视频回放现已在我们的SpringSourceDev YouTube 频道上线。
- 这与 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 使其成为可能时,我们在当时对 commons 注释的主要支持之外,推出了注释(如
@Transactional
)。即使我们支持 Java 1.3 和 1.4,也是如此。Java 8 也不例外。 - 上周我做了一个关于使用 Spring 构建 REST API 的网络研讨会。网络研讨会视频很快将在我们的 SpringSource 开发人员 YouTube 频道上发布。对于许多询问的人,代码可在我的 GitHub 帐户上找到,幻灯片可在我的 SlideShare 帐户上找到。请查看它们!
- Petri Kainulainen 发布了一篇非常详细且易于阅读的博文,介绍了如何在配置
@Scheduled
注释的 CRON 表达式时插入来自属性文件的属性。
Spring Social Facebook 1.0.3 发布
亲爱的 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 资源的签到已弃用。现在所有签到都应作为带有位置的帖子进行。
- 删除组的“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 的应用程序配置中,转到“设置->高级”,然后单击“启用”单选按钮,使其位于“2013年7月重大更改”旁边。
我们邀请您在Spring Social 论坛中讨论此版本以及 Spring Social 1.1.0 的持续工作,并在Spring Social Facebook 问题跟踪器中报告任何错误或改进。
Spring XD 1.0.0.M1 发布
亲爱的 Spring 社区:
Spring XD 团队很高兴地宣布,Spring XD 的第一个里程碑版本现已提供下载。
Spring XD 使解决常见的大数据问题变得容易,例如数据摄取和导出、实时分析以及批处理工作流编排。第一个里程碑版本实现了许多功能,并提供了大量文档。
在我们努力完成最终的 Spring XD 1.0.0 版本时,我们非常乐意收到您的反馈。如果您有任何疑问,请使用Stackoverflow(标签:springxd),要报告任何错误或改进,请使用Jira 问题跟踪器或提交GitHub 问题。
Spring XD 1.0 里程碑 1 发布
今天,我们很高兴地宣布 Spring XD 的 1.0 M1 版本发布(下载)。Spring XD 是一个统一的、分布式的和可扩展的系统,用于数据摄取、实时分析、批处理和数据导出。该项目的目的是简化大数据应用程序的开发。
从 10,000 英尺的高度看,大数据应用程序与企业集成和批处理应用程序具有许多共同特征。通过 Spring Integration 和 Spring Batch 项目,Spring 已为构建集成和批处理应用程序提供了超过 6 年的成熟解决方案。Spring XD 在此基础上构建,并提供了一个轻量级运行时环境,该环境易于配置和组装,并且可以通过简单的 DSL 进行组装。
在本博文中,我们将介绍 Spring XD 的关键组件,即流、作业、提取、分析以及用于声明它们的 DSL,以及运行时架构。在XD 指南中可以找到更多详细信息。流
流定义了如何收集、处理和存储或转发数据。例如,流可以收集 syslog 数据,对其进行过滤,并将其存储在 HDFS 中。Spring XD 提供了一个 DSL 来定义流。DSL 允许您使用 UNIX 管道和过滤器语法开始简单地构建线性处理流程,但它也允许您使用扩展语法描述更复杂的流程。源和接收器
一个简单的线性流由以下顺序组成:输入源、(可选)处理步骤和输出接收器。例如,考虑从 HTTP 源收集数据并写入文件接收器的情况。描述此流的 DSL 为http | file
您可以通过向默认运行在 8080 端口上的 XD 管理服务器发送 HTTP 请求来告诉 Spring XD 创建一个流。在 M2 版本中,我们将提供一个交互式 Shell 来与 XD 通信,但对于 M1 来说,最简单的方法是使用 'curl' 与 XD 交互。
curl -d "http | file" https://127.0.0.1:8080/streams/httptest
流的名称是 httptest
,默认侦听的 HTTP 端口是 9000
,默认文件位置是 /tmp/xd/output/${streamname}
。
curl -d "hello world" https://127.0.0.1:9000
您将在文件 /tmp/xd/output/httptest
中看到字符串 hello world。
要更改默认值,您可以传入选项参数。
http --port=9090 | file --dir=/var/streams --name=data.txt
M1 中支持的数据源包括文件、时间、HTTP、Tail、Twitter 搜索、Gemfire(持续查询)、Gemfire(缓存事件)、Syslog 和 TCP。 支持的数据汇包括日志、文件、HDFS 等。
Spring Integration 2.2.4 和 2.1.6 版本发布
我们很高兴地宣布 Spring Integration 2.2.4 和 2.1.6 维护版本的发布。
Spring Integration 的 Twitter 模块使用 Spring Social Twitter,该模块已更新至 1.0.5 版本,以应对 Twitter v1.0 API 退役。Spring Social Twitter 1.0.4.RELEASE [1] 和 1.0.5.RELEASE [2] 公告提供了有关该项目最近更新的更多信息。对于任何使用 Twitter 搜索适配器的人来说,v1.1 中的基础搜索 API 需要授权,因此您需要更新任何 TwitterTemplate 的配置(如果尚未…
本周 Spring - 2013 年 6 月 11 日
大家好,欢迎来到另一期《本周 Spring》!本周我在纽约市,与纽约 Java 聚会和 ScalaDays 的开发人员讨论 Spring。我们这个月有很多网络研讨会,所以请务必查看下面的详细信息!
- 想要获得 SpringOne 2GX 2013 的入场券吗?如果您是 Spring 冠军,请在 我们的冠军论坛上展示您的实力并按照这些说明操作,截止日期为 2013 年 6 月 21 日。您可能是我们 5 位幸运获奖者之一!(如果您是 Groovy 和 Grails 或 Cloud Foundry 冠军,请不要担心,我们将为您推出未来的比赛!)
- Oliver Gierke 宣布了 Spring Data Babbage,这是下一代 Spring Data 发布列车的第一个里程碑版本。此版本包含许多新功能,因此请务必查看发布说明!
- Spring Batch 2.2.0 现已发布!这是一个主要版本,除了许多其他功能外,还支持 Spring Data、Java 配置、AMQP 和 SQLFire。Spring Batch 及我们参与专家组 对 JSR-352 规范产生了重大影响,该规范最近已完成。
- Spring Tool Suite 和 Groovy/Grails Toool Suite 3.3.0 M2 已发布,基于 Eclipse Kepler 4.3。此里程碑版本改进了 Java 配置支持,并已准备好用于 Spring Framework 4。
- Craig Walls 宣布了 Spring Social Twitter 1.0.5 和 Spring Social 1.0.3 的发布!新版本修复了一些错误,并已发布以应对 Twitter API 1.0 版本的弃用。
- Gary Russell 还宣布了 Spring Integration 2.2.4 和 2.1.6 维护版本,以合并上面提到的 Spring Social Twitter 更新。
- 我将在星期四举办一个关于 使用 Spring 进行 RESTful 服务设计的网络研讨会。像往常一样,将有两个会议——一个在格林尼治标准时间下午 3 点,另一个在太平洋标准时间上午 10 点——以适应尽可能多的时区。网络研讨会将介绍 Spring 用于构建 RESTful 服务的堆栈。我们将从一个简单的 API 开始,然后改进 API,引入 Spring HATEOAS 的超媒体控件,引入 Spring Data REST 的基于约定的存储库 API,使用 Spring Security OAuth 和 Spring Social 进行安全保护,并解决文件上传、异常处理、记录分页和 Ajax 等常见案例。期待在那里见到您!
- 不要错过 Jon Brisbin 于 2013 年 6 月 18 日介绍 Reactor - 一个用于 JVM 上异步应用程序的框架。Reactor 为需要在执行相当小的无状态异步处理块时实现高吞吐量的应用程序提供了一个基础框架。
- 加入来自 Liberty 大学的 Tony Erksine,他将在 6 月 27 日指导我们 如何谈论 Spring 并影响他人,这是一个关于软技能和技术采用策略的实用课程,有助于让您公司中的其他开发人员对新技术(在本例中为 Spring)感到兴奋并使用它。
- 我在 3 月份在令人惊叹的 DevNexus 大会上发表了关于 Spring 3.1、3.2 和 4.0 的最新进展的演讲,该演讲现已在 InfoQ 上线。请查看演讲,但也请务必查看我 JAXConf 演讲中该演示文稿的更新版本,在我的 SlideShare 帐户上提供。
- 访问 Pivotal 博客,了解有关 Hadoop 编程的简短入门指南,其中将引导您完成一个简单的单词计数程序。该示例查看了规范的单词计数问题,然后查看了生态系统中的其他解决方案,如 Pig、Hive 和 Cascading。本系列的下一篇博文将为初学者介绍 Spring for Apache Hadoop,提供对本博文中讨论的四种不同方法的统一、一致的替代方案。
- 相关新闻,如果您在纽约市地区,请在星期三晚上加入我,我将在 10gen 办公室为 NYCJava 聚会发表同样的演讲。再次感谢 MongoDB 背后的公司 10gen 主办此次聚会。
- JavaBeat 博客有一篇关于 如何使用 Spring 强大的多部分文件上传支持 的不错的文章。Spring 的支持抽象了文件上传的常用 API——包括
commons-fileupload
API 和 Servlet 3 API——并允许您将这些 API 用于 HTTP 多部分编码的文件上传,通常在 Web 应用程序或 REST 服务中。绝对值得一读,请查看! - Idan Fridman 整理了一些 Spring Integration 中常见类型的组件,包括拆分器、转换器、聚合器等等。
- 对于那些希望将 Spring 技能提升到新的专业水平的人来说,SpringSource 刚刚发布了 2013 年 7 月的专业 Spring 培训计划
- 《Spring 教程》博客有一篇关于 介绍 Spring 的
@Async
和@Scheduled
注解 的精彩文章。
Spring Data 发布列车 Babbage 的第一个里程碑版本已发布
我很高兴地宣布名为 Babbage 的 Spring Data 发布列车的第一个服务里程碑版本。它包括以下模块
- Spring Data Commons 1.6 M1 - 变更日志
- Spring Data JPA 1.4 M1 - 变更日志
- Spring Data MongoDB 1.3 M1 - 变更日志
- Spring Data Neo4j 2.3 M1 - 变更日志
第一个里程碑版本包含相当多的新功能,以及已经在 Arora 服务版本中发布的所有错误修复。
快速浏览发布内容
此版本的大多数更改已集成到 Spring Data Commons 中,以构建下一代 Spring Data 项目的坚实基础,并确保该基础快速成熟。此发布列车中发布的其他模块已适应这些更改,因此也从中受益。
我们已升级到 Querydsl 3.x API 以适应其主要版本中引入的更改。存储库抽象已添加对忽略大小写排序以及派生查询的 count…By…(…)
投影的支持…
Spring Social Twitter 1.0.5 发布
亲爱的 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 程序
访问 Pivotal 博客,了解有关 Hadoop 编程的简短入门指南,其中将引导您完成一个简单的单词计数程序。通过四种编码方法学习 Apache Hadoop 的一些基础知识
- 使用原生 Hadoop 库
- 其他库,如 Pig、Hive 和 Cascading
请继续关注本系列的下一篇博文,其中将为初学者介绍 Spring for Apache Hadoop,提供对本博文中讨论的四种不同方法的统一、一致的替代方案。