Spring for Apache Hadoop 2.3 Release Candidate 1 发布

发布 | Thomas Risberg | 2015年10月15日 | ...

我们高兴地宣布 Spring for Apache Hadoop 2.3 RC1 版本发布。

此版本中最重要的增强功能

  • 更新构建以使用 Spring Framework 4.2.2 [SHDP-509]
  • 更新构建以使用 Spring Integration 4.2.0 [SHDP-520]
  • 将 FlushTimeoutTrigger 添加到 StoreObjectSupport [SHDP-526]
  • 将内部状态机实现替换为新的“spring-statemachine”项目 [SHDP-530]

查看发行变更日志以了解详细信息。

我们继续在 Spring IO 里程碑存储库中提供具有各自传递依赖项的特定版本工件

  • 2.3.0.RC1(默认 - Apache Hadoop 稳定版 2.7.1)
  • 2.3.0.RC1-hadoop26(Apache Hadoop 2.6.0)
  • 2.3.0.RC1-phd30(Pivotal HD 3.0)
  • 2.3.0.RC1-phd21(Pivotal HD 2.1)
  • 2.3.0.RC1-cdh5(Cloudera CDH 5.4)
  • 2.3.0.RC1-hdp23(Hortonworks HDP 2.3)

在 GlassFish 4.1.1 和 WildFly 10/Undertow 1.3 上使用 Spring

新闻 | Juergen Hoeller | 2015年10月14日 | ...

即使我在上周的博客文章中指出,就 Java EE 7 平台的采用而言,没有一般性新闻(因为仍然没有具有完整 EE 7 支持的 WebSphere Classic、WebLogic、JBoss EAP 甚至 TomEE),但与此同时,两个现有的开源 EE 7 平台服务器(即 GlassFish 和 WildFly)取得了一些不错的进展。

  • 现在有一个GlassFish 4.1.1版本发布,其中包含许多子项目更新 - 包括其 WebSocket 支持的 Tyrus。
  • WildFly 团队从一个主要版本冲到另一个主要版本,现在即将发布WildFly 10 GA。底层的Undertow Web 服务器几天前刚刚发布了1.3 GA

React.js 和 Spring Data REST:第 4 部分 - 事件

工程 | Greg L. Turnquist | 2015年10月13日 | ...
要查看此代码的更新,请访问我们的React.js 和 Spring Data REST 教程

上一节中,您介绍了条件更新以避免在编辑相同数据时与其他用户发生冲突。您还学习了如何使用乐观锁在后端对数据进行版本控制。如果有人编辑了相同的记录,您会收到提示,以便您可以刷新页面并获取更新。

这很好。但是您知道什么更好吗?当其他人更新资源时,UI 会动态响应。

在本节中,您将学习如何使用 Spring Data REST 的内置事件系统来检测后端中的更改,并通过 Spring 的 WebSocket 支持向所有用户发布更新。然后,您将能够在数据更新时动态调整客户端。

随时可以从该存储库获取代码并继续操作。本节基于上一节的应用程序,并添加了一些额外内容。

向项目添加 Spring WebSocket 支持

在开始之前,您需要向项目的 pom.xml 文件添加一个依赖项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

这引入了 Spring Boot 的 WebSocket 启动器。

使用 Spring 配置 WebSockets

Spring 提供强大的 WebSocket 支持。需要注意的一点是 WebSocket 是一种非常底层的协议。它除了提供在客户端和服务器之间传输数据的方法之外,几乎没有其他作用。建议使用子协议(本节为 STOMP)来实际编码数据和路由。

以下代码用于配置服务器端的 WebSocket 支持

@Component
@EnableWebSocketMessageBroker
public class WebSocketConfiguration extends AbstractWebSocketMessageBrokerConfigurer {
static final String MESSAGE_PREFIX = "/topic";

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
	registry.addEndpoint("/payroll").withSockJS();
}

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
	registry.enableSimpleBroker(MESSAGE_PREFIX);
	registry.setApplicationDestinationPrefixes("/app");
}

}

  • @EnableWebSocketMessageBroker 打开 WebSocket 支持。
  • AbstractWebSocketMessageBrokerConfigurer 提供了一个方便的基类来配置基本功能。
  • MESSAGE_PREFIX 是您将在每个消息的路由前添加的前缀。
  • registerStompEndpoints() 用于配置客户端和服务器链接的后端端点 (/payroll)。
  • configureMessageBroker() 用于配置用于在服务器和客户端之间中继消息的代理。

通过此配置,现在可以利用 Spring Data REST 事件并通过 WebSocket 发布它们。

订阅 Spring Data REST 事件

Spring Data REST 基于在存储库上发生的 action 生成多个应用程序事件。以下代码显示了如何订阅其中一些事件

@Component
@RepositoryEventHandler(Employee.class)
public class EventHandler {
private final SimpMessagingTemplate websocket;

private final EntityLinks entityLinks;

@Autowired
public EventHandler(SimpMessagingTemplate websocket, 
			EntityLinks entityLinks) {
	this.websocket = websocket;
	this…

Spring Statemachine 1.0.0 发布

发布 | Janne Valkealahti | 2015年10月13日 | ...

我们高兴地宣布Spring Statemachine 1.0.0的发布。首先,我要感谢所有以任何方式为实现这一目标做出贡献的人。工件可从Maven CentralSpring 存储库获取。

我们在这个第一个版本中实际获得了什么

  • 易于使用的扁平单层状态机,适用于简单的用例。
  • 分层状态机结构,便于复杂的 state 配置。
  • 状态机区域,提供更复杂的 state 配置。
  • 触发器、转换、保护和操作的使用。
  • 类型安全的配置适配器。
  • 构建器模式,方便在 Spring 应用程序上下文之外使用实例化
  • 常用用例的方案
  • 基于 Zookeeper 的分布式状态机
  • 状态机事件侦听器。
  • Spring IOC 集成,用于将 bean 与状态机关联。

本周 Spring - 2015年10月13日

工程 | Josh Long | 2015年10月13日 | ...

欢迎来到另一期《本周 Spring》!本周我在波兰克拉科夫参加JDD,然后前往俄罗斯圣彼得堡参加Joker 大会

我们有很多内容要介绍,所以让我们开始吧!

STS 中的 Spring Boot Dashboard - 第 1 部分:本地 Boot 应用

工程 | Martin Lippert | 2015年10月8日 | ...

欢迎 Spring 社区,

这是三篇博客文章中的第一篇,向您介绍 STS 中新的 Spring Boot Dashboard。您将了解如何在 IDE 中使用 Spring Boot Dashboard,了解它提供的各种功能,以及它如何在您开发基于 Spring Boot 的应用程序时提供帮助。由于 Spring Boot Dashboard 是在最近发布的 STS 3.7.1中引入的,因此您需要该版本才能遵循本博客系列。如果您尚未安装,请访问https://springjava.cn/tools/并获取您的副本。

介绍

Spring Boot 现在是一种广泛采用的技术,可以简化您在为企业实现 Spring 应用程序时的生活。它特别适合创建基于微服务的应用程序,它彻底改变了我们对小型且易于配置的 Spring 应用程序的思考方式。与 Spring Cloud 结合使用,它为真正云原生的应用程序打开了大门,这些应用程序可能由许多微服务组成。

这种架构思维的巨大转变也需要体现在我们的 IDE 中。我们大多数现有的传统 Java IDE 不仅是在云原生时代之前发明的,而且是在云时代之前,并在一定程度上是在编程的分布式时代之前发明的。Spring Tool Suite 及其基础 Eclipse IDE 也是如此。现在是时候将这些 IDE 推向云原生时代了。这是 Spring Boot Dashboard 的起点。它的重点是帮助您处理可能数量众多的基于 Spring Boot 的微服务应用程序,并在您在 IDE 中处理这些项目时让您的开发人员生活更轻松。

Spring Boot Dashboard

从小处着手,逐步改进,Spring Boot Dashboard 作为 STS/Eclipse 中的附加视图出现。您可以通过按主工具栏中的 Spring Boot 按钮打开它。它会打开一个与您的工作区项目同步的简单视图,显示工作区中属于 Spring Boot 项目的那些项目。

启动面板的主要目的是让您快速访问每天、每小时甚至更频繁使用的功能。您可以通过在启动面板中选择启动应用程序并按下工具栏中的“运行”或“调试”操作来快速启动启动应用程序(运行或调试模式)。没有比这更快的启动启动应用程序的方法了。并且,由于您可能会更改代码并希望重新启动应用程序,因此该操作允许您重新启动已运行的启动应用程序。更改您的代码,按下启动面板中的“运行”按钮,您的启动应用程序将被停止并为您重新启动。同样,这是一个简单的单击操作。

启动面板中这些操作(以及更多其他操作)的优点在于,它们可以同时对单个或多个项目进行操作。例如,如果您想同时启动或停止多个启动应用程序(例如启动一组协作服务),只需在面板中全部选中它们,然后按下“运行”即可。就是这样。

一旦您在项目中采用 Spring Boot 1.3,您就会注意到启动面板中显示了其他好用的功能。一旦您的启动应用程序启动,启动面板就会显示应用程序正在启动 - 并且它会区分其启动阶段(虚拟机正在运行,但应用程序仍在初始化)和它真正运行并可以使用。进度图标表示应用程序仍在启动,绿色“向上”图标会在应用程序完全初始化并运行后显示。您不需要观察日志输出,直到出现一些“服务器已启动”之类的消息。启动面板图标会让您知道。

应用程序运行后,它监听的端口将显示在启动面板中 - 为您提供便利。您不再需要扫描日志输出才能找出应用程序正在使用的端口。面板会自动显示该信息。如果您想跳转到正在运行的启动应用程序的控制台输出,也提供了一个快速操作。

通常不再需要知道正在运行的应用程序的端口 - 因为您不必自己为应用程序打开浏览器标签页。双击启动面板中的项目,它将为您打开一个新的浏览器标签页 - 直接导航到应用程序的默认 URL。

默认情况下,这将打开 Eclipse/STS 内部浏览器视图。如果您更喜欢使用外部浏览器,可以在首选项中设置。

如果此默认 URL 不是您希望默认访问的 URL,您可以自定义它。打开属性视图,在启动面板中选择项目,然后输入您喜欢的默认 URL 扩展名。双击将打开应用程序的默认 URL + 您自定义的扩展名。

如果您不确定您的应用程序定义了哪些 URL 扩展名,您可以在属性视图中选择“请求映射”选项卡。将列出正在运行的应用程序的所有请求映射 - 您自己定义的映射位于顶部,来自库的映射位于列表底部。双击 URL 扩展名将为此扩展名打开一个浏览器,双击代码指针将在编辑器中打开项目的相应文件并跳转到定义请求映射的行。

您的工作区中拥有的微服务项目越多,您同时处理所有这些项目的可能性就越小。您可能希望专注于一个子集。例如,您可能在 Eclipse/STS 中创建了一个工作集。启动面板允许您使用任意数量的标签标记项目(同样,在属性视图中)。然后,可以使用过滤器框(位于启动面板顶部)中的这些标签来减少启动面板中显示的项目数量。

展望

本系列的第二部分将向您介绍启动面板的 Cloud Foundry 集成,如何从启动面板内部将微服务部署到 CF,以及如何将本地启动应用程序与部署在 CF 上的应用程序结合使用。

Spring XD 1.3 M1 发布

发行说明 | Mark Pollack | 2015年10月8日 | ...

我代表 Spring XD 团队,非常高兴地宣布 Spring XD 1.3 的第一个里程碑版本发布。

此版本包括错误修复和一些增强功能

  • Hadoop 发行版更新到 Apache Hadoop 2.7.1 和 Hortonworks Data Platform 2.3。Pivotal Hadoop 2.1、3.0 和 Cloudera Hadoop 5.4
  • Spark 1.3.1 支持
  • Cassandra Sink
  • Header Enricher Processor
  • 修复了 Flo Designer UI 和 Admin UI 的错误
  • Gpfdist sink 现在支持更新操作和全范围的控制文件选项。
  • 更新到 Spring Integration 4.2,该版本在启用监控时提供了性能改进。
  • 升级到 Spring Data Gosling Release train

本周 Spring - 2015 年 10 月 6 日

工程 | Josh Long | 2015 年 10 月 7 日 | ...

欢迎来到另一期《本周 Spring》!像往常一样,我们本周有很多内容要涵盖,所以让我们开始吧!

Spring REST Docs 1.0.0.RELEASE

发行说明 | Andy Wilkinson | 2015 年 10 月 7 日 | ...

我很高兴地宣布Spring REST Docs 1.0.0.RELEASE 已发布。它可从 Maven Central 和我们的发布仓库获取。

什么是 Spring REST Docs?

Spring REST Docs 可帮助您记录 RESTful 服务。它结合了使用 Asciidoctor 编写的自写文档和使用 Spring MVC Test 生成的自动生成的代码片段。这种方法使您摆脱了像Swagger这样的工具带来的限制。它有助于您生成准确、简洁且结构良好的文档。然后,此文档允许您的用户以最小的……获取所需信息。

Spring Initializr 的发展

工程 | Brian Clozel | 2015 年 10 月 6 日 | ...

我们很高兴今天在https://start.spring.io发布新版本的 Spring Initializr!

最初只是一个小型内部 Web 应用程序,用于生成 Spring Boot 项目,它已经发展成为我们预料之外的东西。您现在可以在 Web 上、在您最喜欢的 IDE(Eclipse STS 和 IntelliJ IDEA)中甚至使用您的命令行工具使用 Spring Initializr(试试curl https://start.spring.io)。

与此同时,Spring 产品组合正在不断发展,我们收到了来自 Spring 社区的许多有用的反馈。因为没有什么比实际数据更好,所以在夏天之前,我们改进了服务,将其指标导出到集中的 Redis 实例。这使我们能够长期(无论我们在Pivotal Web Services上部署了多少实例……)保持可靠的统计数据。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部