社区驱动的 Spring Integration 扩展

工程 | Gunnar Hillert | 2012年8月23日 | ...

Spring Integration 团队荣幸地宣布 Spring Integration 扩展 存储库的可用性。这个新的基于 GitHub 的存储库的主要目标是促进一个活跃的适配器和扩展开发人员社区,并鼓励更广泛的社区参与该项目。Spring Integration 扩展项目托管在

这个新的存储库将使我们能够更快速地整合新的贡献,而无需经过核心 Spring Integration 框架更严格的审查流程。由于每个社区贡献的扩展都是 Spring Integration 扩展 存储库中的一个独立项目,它将拥有独立于核心 Spring Integration 框架的发布生命周期。因此,这将允许更频繁的发布。

随着时间的推移,我们预计一些较少使用的 Spring Integration 模块可能会转移到 Extensions 存储库中。另一方面,对于某些扩展模块,Spring Integration Extensions 项目也可以作为孵化器,最终它们可能会被整合到核心 Spring Integration 框架中。

得益于社区的多次贡献,新的仓库已经提供了几个适配器,例如 XQuery 适配器(包含对 XPath 2.0 的支持)以及 SMB 适配器。在接下来的几周内,还将添加几个围绕 Amazon Web Services (AWS) 的适配器(Amazon S3Amazon SNSAmazon SQS)。此外,我们还提供了一个 Print 适配器 的早期版本,并且我们正在通过 Atmosphere 开发一个支持 WebSocket 的适配器。

我如何成为贡献者?

如果您对新的扩展和/或适配器有任何想法,请随时提交一个 JIRA 票据。如果您已经创建了一个扩展模块并希望贡献代码,请 fork Spring Integration Extensions 仓库,添加您的模块并提交一个 pull request。不过,在我们合并您的代码之前,您需要填写 贡献者许可协议。提交后,我们将和/或社区其他成员将审查您的 pull request 并将其合并。有关更详细的信息,请仔细查阅 Spring Integration Extensions 项目的 贡献者指南

创建新的 Spring Integration 扩展模块

最受欢迎的扩展类型之一是 Spring Integration 适配器。为了简化为 Spring Integration 编写自定义适配器的过程,我们现在为 SpringSource Tool Suite (STS) 3.0.0 提供了 适配器模板。此模板将使贡献者能够非常容易地快速构建新适配器,同时确保与核心 Spring Integration 框架中提供的适配器保持一致(包结构、命名约定、命名空间处理程序/解析器等)。

作为 Spring Integration 模板 项目一部分的 Spring Integration 适配器模板 创建了一个功能齐全的 Spring Integration 模块,并且该模板将创建以下常用组件

  • 入站通道适配器
  • 出站通道适配器
  • 出站网关

该模板不仅会创建核心 Java 类和一些基本的单元测试,还会提供 XML 命名空间支持,其中包括 XML Schema 和相关的解析器类。即使您创建其他类型的组件,此模板也应该为您提供有关如何开发这些组件的宝贵见解。有关使用 STS 模板进行 Spring Integration 的更多信息,请参阅以下博客文章

创建的适配器项目将使用 Gradle 作为其构建工具,并且它严格遵循为 Spring Integration 定义的构建任务

构建适配器项目

    $ ./gradlew build
将适配器项目安装到您的本地 Maven 仓库

    $ ./gradlew install
生成 JavaDoc

    $ ./gradlew api
使用 Sonar 生成指标

    $ ./gradlew sonar
构建完整的发行版

    $ ./gradlew dist

有关更多信息,请参阅 Spring Integration Extensions Wiki 上的 如何创建新组件

更多资源

Spring Integration GitHub 存储库

为了完整起见,以下是所有 Spring Integration 相关 GitHub 存储库的列表

Spring 本周动态 - 2012 年 8 月 21 日

工程 | Josh Long | 2012 年 8 月 21 日 | ...

欢迎阅读又一期《Spring 本周动态》!本期内容通过整合网络上的大量精彩内容汇编而成。如果您有内容建议,或者只是想直接了解我们发布的部分内容,请在 TwitterGoogle+ 上关注我们。和往常一样,有很多内容需要介绍,让我们开始吧。

  1. 本周首先要介绍的是,SpringSource Dev YouTube 频道上发布了大量新内容。
    	The video from  Spring Data Neo4J lead Michael Hunger's excellent webinar <a href = "http://www.springsource.org/node/3632">introducing Spring Data Neo4j</a> is also available. 
    

    VMWare 工程师 Jerry Kuch 的网络研讨会视频也已发布,该研讨会提供了关于 RabbitMQ 新功能的更新。最后,Ken Rimple、Srini Penchikala 和我一起进行的关于如何更充分地利用 Spring Roo 的交互式插件机制的网络研讨会视频也已发布。

  2. Spring Security OAuth 负责人 David Syer 博士宣布 Spring Security OAuth 1.0.0.RC2 现已发布。
  3. 	<LI> Remember our pal Tobias Trelle? He's got another fantastic article that's been published on InfoQ called <a…

Spring 本周动态 - 2012 年 8 月 14 日

工程 | Josh Long | 2012 年 8 月 15 日 | ...

欢迎阅读又一期《Spring 本周动态》!和往常一样,有很多内容需要介绍,让我们开始吧。

  1. SpringSource Tool Suite 已开源!并且,现在提供两个不同的版本,分别支持不同的开发者:面向 Spring 开发者的 Spring Tool Suite,以及面向 Groovy 和 Grails 开发者的 Groovy/Grails Tool Suite。有关此精彩新闻的更多信息,请查看 Tool Suites 负责人 Martin Lippert 的博客。
  2. Spring Security 负责人 Rob Winch 宣布最新版本的 Spring Security,3.1.2 版本已发布
    	 </a>
    <LI> The ZeroTurnaround blog has a <EM> really</EM> cool little blog on rapid development with Spring and Hibernate. 
    	 Of course, Zero Turnaround has a handy little software agent that lets you reload Java classes on the fly. So that's a <EM>huge</EM> gain in productivity right there. That, coupled with XML-free Spring 3.1 and Hibernate 4.1, and you have yourself a <Em>really</EM> awesome combination. To learn more, check out the blog!  The example he illustrates are also well <a href = "http://github.com/cloudfoundry-samples/springmvc-hibernate-template">represented in this sample…

SpringSource Tool Suites 3.0.0 发布 - 重新组织、开源并托管于 GitHub

工程 | Martin Lippert | 2012 年 8 月 13 日 | ...

介绍

我们荣幸地宣布,我们基于 Eclipse 的开发工具的最新主要版本现已可用。这不仅是新功能上的重大版本,还因为其他重大更改,如组件化、开源以及首次提供多个针对不同类型开发者的定制发行版。让我们看看细节。

Spring Tool Suite 和 Groovy/Grails Tool Suite

过去,SpringSource Tool Suite 是一个现成的完整发行版,供大多数 Spring 开发者使用。相比之下,Groovy/Grails 开发者需要手动在开发环境中安装几个扩展才能开始。现在情况已有所改变。我们现在提供两个完整的发行版:

  • Spring Tool Suite:Spring Tool Suite 是我们基于 Eclipse 的工具的完整发行版,预装了您处理 Spring 项目所需的所有必要组件。它支持 Spring Core 框架本身、Spring Integration、Spring Batch、Spring Webflow、Spring Data 等。它包含最新版本的 tc Server Developer Edition 和 Spring Roo,最新的 Eclipse Integration for Maven,并且构建于最新的 Eclipse Juno 4.2 版本之上。这与之前称为 SpringSource Tool Suite 的非常相似。
  • Groovy/Grails Tool Suite:Groovy/Grails Tool Suite 是我们基于 Eclipse 的工具的完整发行版,专门为 Groovy 和 Grails 开发定制。它预装了 Groovy-Eclipse 和我们的 Grails 工具,支持直接部署到 tc Server,并随发行版提供现成的 Grails 安装。它也构建于最新的 Eclipse Juno 4.2 版本之上,为我们的 Groovy-Grails 用户提供了开箱即用的体验。

开源并托管于 GitHub

我们坚定地致力于开源,并且是我们工具所包含的许多开源项目(例如 AspectJ、AJDT 和 Groovy-Eclipse)的活跃贡献者。Spring IDE,过去是 SpringSource Tool Suite 的主要组成部分,也一直开源。现在,我们在 GitHub 上根据 Eclipse 公共许可证,在 GitHub 上的 SpringSource 组织下,将工具套件的所有部分开源。以前的商业插件,如 Spring Roo 的集成,或提供更好内容辅助、代码补全和高级重构支持的插件,以及 Spring 的项目模板,都已贡献给 Spring IDE 项目。其他部分已提取到全新的开源项目中,例如 tc Server 的 Eclipse 集成。

组件化项目

为了允许独立安装以及更好地在工具套件的不同部分之间进行模块化,我们将不同的部分组件化到它们自己的项目中。它们都托管于 GitHub,提供自己的夜间更新站点,并且可以单独安装到纯 Eclipse JEE 安装中。
  • Spring IDE:它为您提供了处理 Spring 框架的所有工具,以及与各种额外的 Spring 相关技术(如 AJDT、Spring Integration、Spring Webflow、Spring Data、Spring Security 和 Spring Roo)的集成。以前仅在 STS 中提供的 Maven 和 Spring Roo 支持已集成到此项目中。(https://github.com/SpringSource/spring-ide
  • Grails IDE:它为您提供了之前可以从仪表板安装到 SpringSource Tool Suite 实例的完整 Grails 开发工具。它构建于 Groovy-Eclipse 项目之上。(https://github.com/SpringSource/grails-ide
  • Eclipse Integration for tc Server:此组件提供了创建 tc Server 新实例、使用现有实例、直接从工作区部署和更新应用程序、配置 tc Server 实例以及激活 Spring Insight 的功能。(https://github.com/SpringSource/eclipse-integration-tcserver
  • Eclipse Integration for Gradle:它在 Eclipse 中提供了 Gradle 支持。它允许用户直接导入他们的 Gradle 配置项目,并根据 Gradle 配置自动管理依赖项。它还允许直接从 Eclipse 执行 Gradle 任务。(https://github.com/SpringSource/eclipse-integration-gradle
  • Eclipse Integration Commons:此项目包含上述组件通用的共享基础设施。此外,它还包含 UAA 和 SpringSource Dashboard。(https://github.com/SpringSource/eclipse-integration-commons

作为此次重组和开源的结果,这些项目之间的依赖关系减少了。因此,如果您愿意,可以从项目的更新站点单独使用它们,并且只会拉入最少的依赖项。例如,VMware vFabric tc Server 的 Eclipse 集成可以安装到纯 Eclipse JEE 中,而无需同时安装 Spring IDE、Grails IDE 或其他组件。您可以随时使用(每个项目都附带的,如 UAA)仪表板,将其他项目添加到您现有的安装中,因为您可能会…

本周 Spring - 2012 年 8 月 7 日

工程 | Josh Long | 2012 年 8 月 7 日 | ...

欢迎来到又一期的《本周 Spring》!像往常一样,我们有很多内容要分享,让我们开始吧!

  1. 我简要回顾了 Manning 的新书《Spring Roo in Action》。可以去看看,看看这本书!
    </li>
      <LI> The <a href = "http://bit.ly/QWSrml">Cloud Foundry Integration for Eclipse Now Supports Tunneling to Services</a>. This increases the parity betwen the Eclipse support (and the SpringSource Tool Suite support)  and the <CODE>vmc</CODE> command-line client.  </LI>
    	
    
    	<LI> The VMware has a very cool blog taking a look the roles Spring and RabbitMQ play in 
    		 <a href = "http://blogs.vmware.com/vfabric/2012/07/spring-and-rabbitmq-behind-indias-12-billion-person-biometric-database-1.html">in the new project behind India's 1.2 Billion Person Biometric Database</a>. <EM>Very</EM> cool…

有史以来最惊人的 Java 类型声明

工程 | David Turanski | 2012 年 8 月 3 日 | ...

我想我应该很熟悉 Java 和泛型了,但我最近遇到了这段 Java 代码,它让我停下了脚步。

public abstract class AnnotationBasedPersistentProperty<P extends PersistentProperty<P>> extends AbstractPersistentProperty<P> {..}

这个类是 Spring Data 框架的 Repository 支持的内部组件,它消除了实现数据访问层时编写样板代码的需要,并为映射域对象和管理到任何类型持久存储的数据访问提供了通用的编程模型。Spring Data 当前的存储库实现包括关系数据库(JPA)、GemfireMongoDBNeo4j

幸运的是,如果您在 Java 中使用 Spring Data…

Spring 本周动态 - 2012 年 7 月 31 日

工程 | Josh Long | 2012 年 8 月 1 日 | ...

欢迎阅读又一期《Spring 本周动态》!

本周,我和 SpringSource 和 Cloud Foundry 团队的其他成员在班加罗尔,与主要的系统集成商讨论 Spring 和 Cloud Foundry。反响惊人,反馈甚至更好。

在相关新闻中,Cloud Foundry Open Tour 将于下个月来到印度!如果您想听听思想领袖和专家们关于云计算、平台即服务、架构和 Spring 的演讲,请务必立即注册参加班加罗尔或浦那的活动。我期待在那里见到您!

  1. Jonathan Brisbin 宣布 Spring Data Rest 的最新版本 1.0.0.RC2 已发布,该版本支持 JSONPE,与 Spring MVC 应用程序集成更好,并提供更多配置挂钩,以便您可以更好地控制框架的行为。
  2. David Syer 博士宣布 Spring Security OAuth 1.0.0.RC1 版本已发布。Spring Security OAuth 是一个与 Spring Security 配合使用的模块,让您可以公开 OAuth 安全的 RESTful 资源。

    新版本在授权服务器功能方面提供了许多新的扩展点,提供了 Whitelabel UI 以获得更好的开箱即用体验,并改进了对安全过滤器中表达式的支持。快来试试吧!

  3. <LI> WADL is a description format for RESTful web-services,  in much the same way that  WSDL describes SOAP-based web services' contracts. This excellent…

Spring 本周动态 - 2012 年 7 月 17 日

工程 | Josh Long | 2012年7月18日 | ...

欢迎阅读又一期《Spring 本周动态》!本周,SpringSource 和 Cloud Foundry 团队在 OSCON 与各界人士交流开源企业和云计算。如果您在该地区,请务必前往展厅的 SpringSource 和 Cloud Foundry 展位!

  1. Spring Data 团队正在与 O'Reilly 合作编写一本关于 Spring Data 的书籍。如果您想预览并提供反馈,现在是时候了!
  2. 您是否正在使用 Spring Data Commons 的存储库支持?您对 Java 风格的配置支持有什么看法?查看 Spring Data 中对 Java 配置的新支持
  3. <LI> The Java Beginner's tutorial blog has a quick post on  <a href = "http://javabeginnerstutorial.com/spring-framework-tutorial/configure-hsqldb-java-spring/">how to use the embedded database namespace that debuted in Spring 3.0</A>. The <a href = "http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#jdbc-embedded-database-support">namespace</A> is great if you want to setup H2, HSQL and Derby instances quickly and then specify initialization <CODE>.SQL</CODE> statements or scripts to run to initialize the database to a…

Spring 本周动态 - 2012 年 7 月 10 日

工程 | Josh Long | 2012 年 7 月 11 日 | ...

欢迎回到又一期《Spring 本周动态》。本周,我正在旧金山的 JAX。我们过得很愉快,并且很乐意回答社区成员的问题。和往常一样,有很多内容需要介绍,让我们开始吧。

  1. Martin Lippert 宣布了最新版本的 SpringSource Tool Suite 以及 Groovy 和 Grails Tool Suites
  2. Chris Beams 宣布 Spring 3.1.2 已发布!
    	</LI>
    <LI> Rob Winch has announced that <A href = "http://www.springsource.org/node/3588">Spring Security 3.1.1 has been released!  	</A>
    </LI>
    	 
     <LI>  Costin Leau has announced that <A href = "http://www.springsource.org/node/3588">Spring GemFire 1.1.2 has been released!  	</A>
    	</LI>
    
     <LI>   The Tech Annotation page has a great post on using some of  <a href = "http://techannotation.wordpress.com/2012/07/05/remoting-spring-rmi-and-http/">Spring's remoting technologies, RMI and HTTP invoker, to expose objects  to remote clients</A>.  </LI> 
    
    
    <Li>  
    	Chris Haddad  has   put together a…

本周 Spring - 2012 年 7 月 3 日

工程 | Josh Long | 2012年7月04日 | ...

欢迎回到《本周 Spring》的又一次更新。今天,我们告别了 Spring 的创始人 Rod Johnson。我们祝 Rod 在接下来的事业中一切顺利。

  1. Spring 贡献者、全能构建大师 Chris Beams 发布了一篇精彩的博客,谈论了近期 Spring 项目的一些基础设施变更,包括迁移到 GitHub 和构建工具 Gradle。
  2. Martin Lippert 宣布了SpringSource Tool Suites 3.0.0.M2 的发布,一个用于 Spring,另一个用于 Groovy 和 Grails
  3. Spring Data Redis 1.0.1 已发布。新版本支持新的(第四个)Redis 驱动程序 SRP、Redis 原生执行(RedisConnection#execute)等功能,并改进了跨所有驱动程序的管道执行跟踪潜在错误和批量结果的一致性。
    	</LI> 
    
    	<LI> 
    		Gary Russell has announced the availability of <a href ="http://www.springsource.org/node/3586">Spring Integration 2.1.3.RELEASE and  2.2.0.M3</a>. 
    		</LI>
    	
    
  4. Hubert Klein Ikkink 发表了一篇关于如何在 Cloud Foundry 上设置环境变量的有趣文章。
  5. Jan Machacek 在他的博客中宣布了Specs2 Spring 0.6.1 的最新版本。请查看以获取更多详细信息。
  6. Matt Vickery 回归,带来了另一篇关于如何将 Spring Integration 与 C24 的 iO 产品结合使用的文章。
  7. 我们的朋友 Willie Wheeler 发表了一篇关于使用 Spring Data JPA 进行可分页自定义查询的精彩文章。
  8. 我们的朋友 Roger Hughes 回归,这次带来了一篇介绍如何开始使用 Spring Social 的文章。
  9. Nicolas Frankel 发表了一篇很棒的博客,介绍Spring Data JPA
  10. Java TV 教程网站和聚合器收录了 Spring Integration 贡献者 Oleg Zhurakousky 的两个关于 Spring Integration 实用技巧的网络研讨会。聚合器收录优秀内容是件好事,但读者也应确保查看所有 SpringSource 视频和教程的来源,即 SpringSource Dev YouTube 频道
  11. A blog, seemingly on PHP, has a post on the correct way to utilize <a href = "http://activequestionsphp.16mb.com/correct-way-to-utilize-p-and-util-namespace-in-spring-xml-configuration/">Spring's <CODE>&lt;p&gt;</CODE> and <CODE> &lt;c&gt;</CODE> namespaces. </a>
    
     </LI>
    
  12. doanduyhai 博客发表了一篇关于 Spring 3.1 缓存抽象的有趣文章
  13. Learning via Code 博客发表了一篇很棒的文章,介绍了 Spring 的消息加载支持
  14. JavaCode Geeks 博客发表了一篇关于 Spring JSF 支持中异常处理的有趣文章。
  15. 与 Spring 仅有微弱关联:Activiti BPMN2 工作流引擎的贡献者 Joram Barrez(Spring Batch 负责人 Dr. David Syer 和我为该引擎贡献了 Spring 支持)发表了一篇很棒的文章,比较了该工作流引擎的速度,其中一些测试使用了 Spring 支持。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有