演示:7分钟内使用 Spring XD 从零开始进行流处理

工程 | Pieter Humphrey | 2014年5月19日 | ...

演讲者:Pieter Humphrey

使用 Spring XD、JavaScript D3 组件/Spring XD REST API 创建实时 Twitter 数据流以供分析仪表板使用。

源代码:https://github.com/spring-projects/spring-xd-samples/tree/master/analytics-dashboard

了解更多关于 Spring XD 的信息:http://projects.spring.io/spring-xd

了解更多关于 Spring for Apache Hadoop 的信息:http://projects.spring.io/spring-hadoop

!{iframe width="420" height="315" src="//www.youtube.com/embed/nOfzrQ6CdKI" frameborder="0" allowfullscreen}{/iframe}

本周 Spring - 2014 年 5 月 13 日

工程 | Josh Long | 2014 年 5 月 13 日 | ...

欢迎收看《本周 Spring》的最新一期!本周我人在 波兰克拉科夫参加 Geecon,这是波兰的一个开发者大会,我当然会在这里与开发者们交流 Spring(以及,或许还有 Spring)的最新动态。如果您也在附近,请找到我,我会穿着我那件巨大的 Spring 叶子 T 恤!:)

除此之外,还有很多内容需要分享,让我们开始吧!

  • 为了即将到来的 Spring IO Platform,Spring Data 发布火车 Dijkstra 已发布!这是一个非常棒的发布火车,包含了:JPA、MongoDB、Neo4J、Apache Solr、Couchbase、Cassandra、Elasticsearch、Gemfire、Redis 和 Data REST!恭喜 Spring Data 团队
  • Spring Boot 1.1.0 M1 现已发布,它引入了 MongoDB 和 Gemfire 支持,并改进了执行器指标和健康端点。
  • Spring Framework 3.2.x 和 4.0.x 版本的最终维护版本 现已发布
  • Spring Integration 大神(摇滚明星!)Artem Bilan 发布了一篇精彩的文章,介绍了 新兴的 Spring Integration Java 配置 DSL 中所有令人惊叹的 Java 配置支持。该 DSL 基于刚发布的 Spring Integration 4.0 中可用的基本 @EnableIntegration 支持。您应该阅读那篇文章。真的。我想摘录一个非常精彩的代码片段来沾沾 Artem 的光彩。

    java @Bean IntegrationFlow helloWorldFlow() { return IntegrationFlows.from("helloWorldInput") .filter("World"::equals) .transform("Hello "::concat) .handle(System.out::println) .get(); } 是的!这是一个 Spring Integration 流,它处理输入消息,对它们进行filter,对它们进行transform,然后将它们传递给逃生舱方法handle,该方法允许开发人员插入任何行为。请记住,您可以更改此代码的任何内容——包括它从何处获取消息以及将消息写入何处。事实上,一个流的输出可以是另一个流的输入。恭喜 Spring Integration 团队!另外,请务必查看发布网络研讨会的重播

  • 我知道上周我提到了这件事,但它*非常*值得重读!Groovy 2.3.0 已发布!(哈!抓到你了!本周的链接指向了同一作者关于 Groovy 2.3.0 发布主题的另一篇文章!但您仍然很高兴读到它,不是吗?) 加油,Groovy!
  • 我的朋友 Pieter Humphrey 制作了一个很棒的 关于 Spring XD 的入门屏幕录像——展示了如何在不到 7 分钟的时间内启动和运行流处理,并将其连接到分析仪表板。XD 使用一种看似简单的 DSL(领域特定语言),并且无需 Java 代码——使用 Hadoop 从未如此简单。
  • Spring Security 负责人 Rob Winch 费尽心思 让安全应用程序的单元测试比以往任何时候都更容易。在这系列新文章的第一篇中,Rob 介绍了旨在替代真实 Spring Security 机制的新注解,用于*模拟* `Principal`、`UserDetailsService` 等。快来看看吧,并继续关注更多内容!
  • 说到 Rob Winch,他去年在 SpringOne2GX 2013 上发表了一个关于 Spring Security 入门的精彩演讲。如果您刚开始接触 Spring Security,这里是一个完美的切入点。
  • New Relic 的 Ashley Puls 好心地与您卑微的作者一起举办了一个关于使用 New Relic 进行 Web 应用程序诊断的网络研讨会。谢谢,Ashley!说实话,这次网络研讨会对我来说*非常有启发性*。我对 New Relic 只知道一点点,而在准备这次网络研讨会的过程中,我了解到 New Relic 非常适合处理无数种用例。真的很棒!
  • 本周还发布了 Emad Benjamin 和 Guillermo Tantucho 的 SpringOne2GX 2013 重播:虚拟化和调优大规模 Java 平台。这涉及 JVM 内存调优以及在虚拟化环境中运行 Java 的所有技巧和窍门。
  • SpringOne2GX 2013 重播——SAS Software 的一个精彩演讲:从 WebLogic、WebSphere、JBoss 迁移到 Pivotal tcServer。这可能与 Eberhard Wolff 最近关于应用服务器已死的文章非常吻合。
  • 您喜欢 Spring 在网络上的新家 spring.io,就像我一样吗?想了解更多吗?看看项目负责人兼 Spring 大神 Chris Beams 关于网站构成、开发和部署的这个演讲。
  • 上周,Spring Data Neo4j 负责人兼图形大神 Michael Hunger 和我进行了一个关于 Spring Boot 和 Neo4j 的演讲。这次演讲对我来说很有趣,因为它给了我很多机会玩转 Neo4j。实际上,Michael 和我将在 5 月 20 日(7 天后!)进行一个关于同一主题的网络研讨会,所以来看看我们有什么新发现。在此期间,您可能想看看这篇关于使用 Cypher 创建时间树的近期文章。Cypher 是 Michael 正在开发的、用于驱动与 Neo4j 交互的语言。那篇文章当然是对 Michael 编写的另一篇关于将森林导入 Neo4j 的文章的回应,也值得一读!
  • 我非常喜欢这篇介绍如何使用 Spring Boot 设置 Spring Batch 作业的文章。作者在 Groovy 的 `BeanBuilder` 支持中找到了一个舒适的配置中间地带,并在本文中很好地进行了描述。
  • Moritz Schulze 撰写了一篇非常精彩的文章,遵循该系列的先例,关于如何集成测试 REST 服务
  • 您在使用 Spring Boot 并想使用 Spock 吗?Netflix 工程师 Tomas Lin 在他的 GitHub 页面上提供了一个示例。快来看看吧!
  • Jakub Kubrynski 撰写了一篇关于如何使用 Spring Boot 的 `org.springframework.boot.actuate.system.ApplicationPidListener`(Jakub 对此有贡献——谢谢 Jakub!)来处理应用程序的进程标识符(`PID`)。很棒!
  • Meltdown 1.0.0 已发布!Meltdown 是Clojure 与 Reactor 项目的接口。那么……函数式编程和流处理在一个类似 Lisp 的语言中?简直是梦想!快来看看吧!

预览 Spring Security 测试:方法安全

工程 | Rob Winch | 2014年5月7日 | ...

[callout title=更新于 2015 年 3 月 31 日]此博客已过时且不再维护。请参阅参考文档的 测试部分 获取最新文档。 [/callout]

周一,我 宣布 了 Spring Security 4.0.0.M1 的发布。这是三部分博客系列的第一篇,将介绍 Spring Security 测试支持。系列大纲如下所示

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

工程 | Martin Lippert | 2014年5月6日 | ...

亲爱的Spring社区,

我们很高兴今天宣布我们基于 Eclipse 的工具进行一次小的维护性发布:Spring Tool Suite (STS) 3.5.1 和 Groovy/Grails Tool Suite (GGTS) 3.5.1。

此次维护发布包含一些错误修复以及一些更新,包括:

  • 为分面 Web 项目添加了 Java8 支持
  • 更新了 Maven Integration for Eclipse 以支持 Java8
  • m2e-egit 连接器现已默认包含
  • Grails 更新至 2.3.8
  • 现在可以从仪表板获取 Groovy 2.3 编译器(包括对 GGTS 中 Grails 2.4M2 的早期支持)

两个工具套件均基于最新的 Eclipse Kepler SR2 版本。

要下载发行版,请访问

可以在此处找到详细的新功能和注意事项:STS/GGTS 3.5.1 新功能和注意事项

下一个版本 3.6.0 计划于 2014 年 7 月发布,紧随 Eclipse Luna (4.4) 发布之后。第一个里程碑版本计划于 2014 年 5 月下旬发布。

祝您使用愉快!

本周 Spring - 2014 年 5 月 6 日

工程 | Josh Long | 2014年5月6日 | ...

欢迎阅读又一期《本周 Spring》!本周我在洛杉矶,与一些正在考虑基于 Spring 和 Spring Boot 构建下一代架构的大型公司交流。哦,我还参观了 _非常酷_ 的 Pivotal 洛杉矶办公室!

Spring 4.1 即将推出的 JMS 改进

工程 | Stéphane Nicoll | 2014 年 4 月 30 日 | ...

Spring Framework 4.0 引入了一个新的 spring-messaging 模块,增加了 Spring Integration 的一系列类型,例如核心的 Message 抽象。Spring 4.1 将其 JMS 支持与之保持一致,以便您能够利用该抽象。但在深入研究之前,我想向您详细展示我们如何进一步改进监听器端点的基础设施。

注解驱动的监听器端点

您可能习惯了 `` 元素或 `@Enable*` 对应项,或许您一直在寻找 JMS 的类似功能。别再寻找了:Spring 的下一个主要版本……

Spring Integration 4.0 发布

工程 | Gary Russell | 2014 年 4 月 30 日 | ...

我们很高兴宣布 Spring Integration 的 4.0.0.RELEASE 版本现已发布。

这些构件现已在 Spring 仓库(`repo.spring.io/release`)和 Maven Central 上可用。

新功能已在里程碑 4发布候选版公告中进行了深入介绍(包括 Spring Boot 示例),但总而言之:

  • 需要 Spring Framework 4.0.3 或更高版本
  • 极大地扩展了用于配置集成流的注解支持,为 extensions 仓库中正在开发的 Java DSL 奠定了基础
  • 新的端点,以及更多...

有关自发布候选版以来的更改,请参阅 GA 版本说明……

本周 Spring - 2014 年 4 月 29 日

工程 | Josh Long | 2014 年 4 月 29 日 | ...

又到了《本周 Spring》的更新时间!上周我在印度班加罗尔度过了一段非常愉快的时光,昨天在 Devoxx 会议创始人 Stephan Janssen 的邀请下,我顺道去了比利时鲁汶,拜访了比利时 Java 用户组,在那里我得以与一些充满热情和活力的当地人,以及 我的朋友、Spring 框架提交者 Stéphane Nicoll 共度时光。当然,整个活动的视频应该很快就会在 Parleys 上线!

让我们马上开始吧!

  1. Spring Social 的联合创始人兼负责人 Craig Walls 刚刚宣布了万众期待Spring Social 1.1.0 版本发布!这个新版本太棒了!如果你一直在关注过去一年半的预发布版本,那么你就知道为了简化 Spring Social 的 Java 配置,他们进行了深入的思考。最终版本既简洁通用。我对此感到非常兴奋,并将着手更新我各种基于 Spring Social 的 OAuth 客户端!Craig,干得漂亮!
  2. 你看到新发布的“小版本” Spring Boot 1.0.2 了吗?我之所以用引号,是因为对于 Spring Boot 来说,即使是小版本也蕴藏着巨大的能量!Dr. Syer 宣布了这个版本,并特别提到了——除此之外——新增的炫酷的 @IntegrationTest 注解。太棒了!(现在请原谅我,我要去更新我的 Boot 项目了…)
  3. 明天,4 月 30 日,和我以及 New Relic 的 Ashley Puls 一起,我们将追踪和调试一个 JavaScript(前端)和 Java/Spring(后端)应用程序。
  4. Spring Integration 正在准备一个令人难以置信的新版本——全面支持注解和 Java 配置,以及一些 Spring Boot 支持!在 4.0 版本中,你将能够构建不依赖 XML 的集成应用程序。项目负责人 Gary Russell 将在 5 月 13 日的名为 Spring Integration 4.0,新前沿 的网络研讨会上带你了解所有这些令人兴奋的新特性。
  5. Spring Data Neo4j 的负责人 Michael Hunger 和我将在 5 月 20 日举办一个关于 Spring Data Neo4j 3.0 和 Neo4j 2.0 的精彩网络研讨会,地址在这里
  6. 在关于 Project Sagan 的系列文章中,Spring 框架的能手 Brian Clozel 刚刚写了一篇非常精彩的文章,介绍 Project Sagan 如何处理客户端 JavaScript。这是一篇绝佳的文章,展示了现代客户端应用程序如何使用 npmgruntgulp。最好的部分是什么?内容是以视频形式呈现的!完美!
  7. Spring Roo 迎来了一位重要的贡献者 DISID!看看我朋友 Pieter Humphrey 关于 Spring Roo 未来的这篇精彩博文。
  8. 在 SpringOne2GX 2013 大会上,花 90 分钟与 Chris Richardson 一起深入探讨 Java、Scala 和 Javascript 中的未来。这里说的不是产品路线图。看看他的会议:《Futures 和 Rx Observables:异步消费 Web 服务的强大抽象》
  9. 你是否还认为 Spring 仅仅用于依赖注入?加入 Mark Secrist 的精彩分享,深入了解框架的基础设计模式和构建块——这些宝贵的见解具有高度可重用性。观看他的 SpringOne2GX 2013 会议重播:《超越依赖注入》
  10. Xavier Padró 写了一篇很棒的文章,介绍了如何使用 Spring Integration 在充当 Web 服务客户端时配置超时
  11. IntelliJ 的能手 Andrey Cheptsov 写了一篇很棒的文章,介绍了如何将 Jetbrains 起源的 Kotlin 语言、NoSQL 数据库 MongoDB、Spring Boot 和 PaaS Heroku 结合使用,地址在这里。很棒!
  12. Petri Kainulainen 又回来了,这次他带来了一篇关于使用 jOOQ(它使得处理 SQL 更容易)以及 Spring 来处理分页和排序的精彩文章,地址在这里
  13. Roger Hughes 写了一篇很酷的文章,关于使用 Spring 的 Quartz 调度支持来跟踪异常,第五部分:调度
  14. “时间紧迫,不容错过”的博客上有一些很棒的文章。第一篇值得注意的是这篇关于在 JBoss EAP 6.2 上使用旧版本 Spring Integration 时出现的奇怪 ClassNotFoundException 的文章,地址在这里
  15. 第二篇稍早的文章是关于使用 Spring Integration MQTT 适配器与 MQTT 驱动的服务进行通信的,地址在这里。MQTT 是一种轻量级的消息协议,是当今许多基于物联网的解决方案的核心。谁知道呢?你的冰箱可能就在使用它!:)
  16. 想在本地机器上运行一个更接近生产环境的 Hadoop 实例?不想运行完整的虚拟机?看看这篇关于使用 Docker 部署 Pivotal 的 HD Hadoop 发行版的文章:地址在这里!(然后,看看 Spring for HadoopSpring XD!)

Project Sagan:客户端架构

工程 | Brian Clozel | 2014年4月28日 | ...

现在我们对 JavaScript 模块有了更多的了解,我们已准备好深入探讨 Sagan 应用程序的客户端架构。

注意:如果您尚未阅读过关于Sagan 项目的先前博客文章,您应该知道这是为本博客和spring.io上的所有其他内容提供支持的 Spring 参考应用程序。之前的文章展示了如何运行此应用程序我们如何实现零停机部署,以及我们如何将 Sagan 升级以使用最新的 JDK8 功能

在这篇文章中,我想介绍 Sagan 应用程序中客户端架构的基础知识。

  1. 为什么客户端应用程序位于单独的 sagan-client 项目模块中?
  2. 它如何与 sagan-site 模块链接?
  3. 什么是npmbowergulp
  4. 这些工具如何协同工作来构建客户端应用程序?

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有