This Week in Spring, August 14th, 2012

Engineering | Josh Long | August 15, 2012 | ...

Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover, so let's get to it.

  1. The SpringSource Tool Suite has been open sourced! And, two different versions of it are now available, supporting two different developers: the Spring developer, served by the Spring Tool Suite, and the Groovy and Grails developer, served by the Groovy/Grails Tool Suite. For more on this fantastic news, check out Tool Suites-lead Martin Lippert's blog.
  2. Spring Security lead Rob Winch announced the latest version of Spring Security, version 3.1.2, has been released.
    	 </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…

Video: What's New in RabbitMQ - June 2012 Edition

News | Chloe Jackson | August 15, 2012 | ...

In the last year and a half, RabbitMQ has seen six major new releases. In this talk, we briefly review messaging, RabbitMQ and the AMQP protocol before covering some of the new features including easier plugin management, new plugins and extensions, publisher confirms, dead lettering, and a new high availability feature based on mirroring queues across nodes in a cluster. Presenter: Jerry Kuch, Staff Engineer, VMware

Be sure to thumbs up the presentation if you find it useful and subscribe to the SpringSourceDev channel to see other recordings and screencasts.

SpringSource Tool Suites 3.0.0 released - reorganized, open-sourced, and at GitHub

Engineering | Martin Lippert | August 13, 2012 | ...

Introduction

We are proud to announce that the newest major release of our Eclipse-based developer tooling is now available. This is a major release not only in terms new features but because of other serious changes like componentization, open-sourcing and the fact that for the first time we are making multiple distributions available, each tailored for a different kind of developer. Let's look at the details:

The Spring Tool Suite and the Groovy/Grails Tool Suite

In the past the SpringSource Tool Suite came as a full distribution download that was ready-to-use by most Spring developers. In contrast to that Groovy/Grails developers had to install several extensions manually into their development environment to get started. This has changed. We are now shipping two full distributions:

  • Spring Tool Suite: The Spring Tool Suite is a full distribution of our Eclipse-based tooling that comes with all the necessary parts pre-installed that you need to work with your Spring projects. It includes support for the Spring Core framework itself, Spring Integration, Spring Batch, Spring Webflow, Spring Data, and many more. It comes with the latest versions of tc Server Developer Edition and Spring Roo, the latest Eclipse Integration for Maven and is build on top of the latest Eclipse Juno 4.2 release. This is very similar to what was previously called the SpringSource Tool Suite.
  • Groovy/Grails Tool Suite: The Groovy/Grails Tool Suite is a full distribution of our Eclipse-based tooling that is customized for Groovy and Grails development. It has Groovy-Eclipse pre-installed as well as our Grails tooling, support for direct deployment to tc Server, and comes with a ready-to-use Grails installation as part of the distribution. It is also build on top of the latest Eclipse Juno 4.2 release and provides a ready-to-use experience for our Groovy-Grails users.

Open-Source and at GitHub

We are strongly committed to open-source and are active committers on many of the open source projects that our tooling includes, for example AspectJ, AJDT, and Groovy-Eclipse. Spring IDE, one of the major parts of the SpringSource Tool Suite in the past, was also always open-source. Now we are open-sourcing all parts of the tool suites under the Eclipse Public License at GitHub under the SpringSource organization at GitHub. The formerly commercial add-ons to the Spring tooling, like the integration for Spring Roo, or the add-ons to provide better content-assist, better code-completion, and advanced refactoring support, as well as project templates for Spring, have been contributed to the Spring IDE project. Other parts are extracted into brand new open-source projects, like the Eclipse integration for tc Server.

Componentized Projects

To allow individual installation and better modularization among the different parts of the tool suites, we have componentized the different parts into their own projects. They all live at GitHub, provide their own nightly update sites, and can be installed into a plain Eclipse JEE installation individually.
  • Spring IDE: This brings you all the tooling for working with the Spring framework, along with integrations for various additional Spring-related technologies like AJDT, Spring Integration, Spring Webflow, Spring Data, Spring Security, and Spring Roo. The support for Maven and Spring Roo, that was formerly part of STS only, has been integrated into this project. (https://github.com/SpringSource/spring-ide)
  • Grails IDE: Brings you the full Grails developer tooling that was previously installable from the dashboard into a SpringSource Tool Suite instance. It is built on top of the Groovy-Eclipse project. (https://github.com/SpringSource/grails-ide)
  • Eclipse Integration for tc Server: This component provides the ability to create new instances of tc Server, use existing ones, deploy and update apps directly from your workspace, configure your tc Server instance, and activate Spring Insight. (https://github.com/SpringSource/eclipse-integration-tcserver)
  • Eclipse Integration for Gradle: This provides Gradle support in Eclipse. It allows the user to import their gradle configured projects directly and will automatically manage the dependencies according to the gradle configuration. It also allows execution of gradle tasks directly from Eclipse.(https://github.com/SpringSource/eclipse-integration-gradle)
  • Eclipse Integration Commons: This project contains the shared infrastructure that is common across the above components. Additionally it contains UAA and the SpringSource Dashboard. (https://github.com/SpringSource/eclipse-integration-commons)

As an effect of this reorganization and the open-sourcing, there are fewer dependencies between these projects. Therefore you can consume them individually from the projects update sites, if you want to, and only a minimal set of dependencies will be pulled in. For example the Eclipse integration for VMware vFabric tc Server can be installed into a plain Eclipse JEE without the need to also install Spring IDE, Grails IDE, or other components. You can always use the Dashboard (that comes with every project, like UAA) to easily add other projects to your existing installation as you might be…

This Week in Spring - August 7th, 2012

Engineering | Josh Long | August 07, 2012 | ...

Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover, so let's get to it!

  1. I did a brief review of Manning's new book, Spring Roo in Action. Check it, and the book, out!
    </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…

The Most Amazing Java Type Declaration Ever

Engineering | David Turanski | August 03, 2012 | ...

I'd like to think I'm pretty comfortable with Java and generics but I recently came across this bit of Java code and it stopped me in my tracks :

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

This class is internal to the Spring Data framework's Repository Support which removes the need to write boilerplate code when implementing a data access layer and also provides a common programming model for mapping domain objects and managing data access to any type of persistent store.  Spring Data's  current repository implementations include relational databases (JPA), Gemfire,MongoDBNeo4.

Fortunately, if you use Spring Data in your Java…

This Week in Spring - July 31, 2012

Engineering | Josh Long | August 01, 2012 | ...

Welcome to another installation of This Week in Spring!

This week I'm in Bangalore, India with other members of the SpringSource and Cloud Foundry teams talking to major system integrators about Spring and Cloud Foundry. The uptake's amazing, and the feedback is even better.

In related news, the Cloud Foundry Open Tour is coming to India next month! If you want to hear thought leaders and experts and learn about cloud computing, platform-as-a-service, architecture and Spring, then be sure to register now for either the Bangalore or Pune events. I look forward to seeing you there!

  1. Jonathan Brisbin has announced the latest release of Spring Data Rest, version 1.0.0.RC2, which features JSONPE support, and better integration with Spring MVC applications, as well as even more configuration hooks so you can exert even more control over the behavior of the framework.
  2. Dr. David Syer has announced the 1.0.0.RC1 release of Spring Security OAuth. Spring Security OAuth is a module that works with Spring Security and lets you expose OAuth-secured RESTful resources.

    The new release features lots of new extension points in the Authorization Server features, a Whitelabel UI for better out-of-box experience, and improved support for expressions in security filters. Check it out!

  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 Data REST 1.0.0.RC2 Released

Releases | Jon Brisbin | July 31, 2012 | ...

I'm pleased to announce the release of Spring Data REST 1.0.0.RC2! Beyond a number of bug fixes, this release adds support for JSONPE (JSONP with error handling), the ability to turn off CRUD methods with the @RestResource annotation, and is now built and tested against the Servlet 3.0 API (though it is not yet 3.0 specific, so will still work fine in Servlet 2.5 containers).

New functionality includes:

  • JSONPE - Simply add a URL parameter to have the results wrapped in a call to the Javascript function you specify. Also handles server errors by translating an error to HTTP 200 and passing the original status code as the first parameter of your error handler.
  • Turn off CRUD methods - The exporter now respects @RestResource annotations on CRUD methods. Just override the method from CrudRepository you want to turn off and annotate it with @RestResource(exported = false).
  • Better integration with existing Spring MVC applications - Simplified the internal Spring MVC configuration to make it even easier to integrate with your existing Spring MVC application. Simply including the RepositoryRestMvcConfiguration bean into your own configuration should Just Work.

New or updated documentation includes:

Starter Web Application | Wiki | Release Notes

To learn more about the project, visit the Spring Data REST homepage, or visit the Github repository to…

Spring Data release train approaches stage one

Releases | Oliver Drotbohm | July 24, 2012 | ...

I'd like to announce the availablity of new milestone and bugfix releases of Spring Data Commons (1.3.2.RELEASE, 1.4.0.M1), JPA (1.1.1.RELEASE, 1.2.0.M1) and MongoDB (1.0.3.RELEASE, 1.1.0.M2). The releases mark the very first step to a common release train that will reach the next major release mid August and include Spring Data Commons, JPA, MongoDB, Neo4J and Gemfire. The release train is an effort to simultaneously release all store modules that support the repository abstraction and thus have a common set of functionality to provide. Beyond that this will make sure the released stores interoperate with each other seamlessly.

This first milestone release includes support for JavaConfig based repository configuration by introducing @EnableJpaRepositories, @EnableMongoRepository etc. Beyond that we of course have a ton of bug fixes and improvements. For details follow the links below.

We'll have release candidates for the next major versions out there in early August, followed by the GA versions briefly after that. For more detailled information on the release train please have a look at the wiki page in Spring Data Commons.

The bugfix versions are available from the SpringSource release repository and will be synced to Maven central in a bit, the milestones from our milestone repository. Looking forward to your feedback in the forums or the bug tracker.

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all