This Week in Spring - 25th September, 2012

Engineering | Josh Long | September 26, 2012 | ...

Welcome back to another installment of This Week in Spring! There's so much good stuff to look at this week. Can you believe we're already staring down October?

It's time to think about who or what you are going to be for halloween!

With October comes SpringOne2GX, the premier event for Spring developers. Check out the final schedule of speakers and sessions for this year's event! SpringOne 2GX is your opportunity to learn from development leads and published authors on the Spring, Groovy/Grails, Tomcat and Cloud technologies.

  1. The video from Spring Security lead Rob Winch's webinar introducing Spring Security is now available.
  2. Oleg Zhurakousky kicks off the march to Spring Integration 2.2 with a blog introducing the new MongoDB features in 2.2.
  3. Gary Russell has announced release candidate 1 of Spring Integration 2.2.
          This is intended to be the final release before GA, so users are encouraged to give feedback on this release.  
    
    </LI>
    
  4. Costin Leau has announced the 1.0.0.RC1 release of Spring Shell, which is an extraction of the shell used in Spring Roo and made available through the Spring programming model.
       </LI>
    
  5. Roger Hughes is back at it again, this time with a look at Spring 3.1 caching and configuration options, specifically focusing on setting up a CacheManager.
  6. The vFabric blog has an interesting look at the "split-agent" architecture behind Spring Insight, that allows the separation of the collection stage from the analysis one.
  7. Krishna Prasad has a nice post on obtaining test coverage information for Spring Web Flow applications.
  8. Mattias Severson has a nice post on handling errors in Spring MVC-based RESTful application.
  9. Ronillo Ang's put together a very brief deck on the fundamental pieces of a Spring MVC application.
  10. The JavaCode Geeks blog has a nice post on writing persistence layers with the Spring framework.
  11. L'Artech blog has a cool post on creating the login form for a web application using Spring MVC, in part 3 of a series.

What's New in Spring Integration 2.2 (Part 2 - Transaction Synchronization)

Engineering | Gary Russell | September 26, 2012 | ...

Introduction

This is the second part in a series of blog posts highlighting some of the new features available in Spring Integration 2.2 following the recent release of Release Candidate 1. The first part talks about the MongoDB adapters.

Spring Integration 2.2 introduces extended support for synchronizing non-transactional resources with transactions.

Background

Spring has provided first class support for synchronizing resources with transactions for many years. In many cases, this facility is used to synchronize transactions managed by multiple transaction managers, in order to implement the 'Best Efforts 1PC' pattern described in Dave Syer's excellent JavaWorld article.

It is often used, for example, to synchronize a JMS commit with a JDBC commit.

Spring Integration has long supported this feature, by defining a <transactional/> element on a poller. This release takes this feature one step further, by allowing synchronization of non-transactional resources with a transaction.

For example, consider a <file:inbound-channel-adapter/> and an Integration application that reads a file when it appears in a directory, and updates a database. This…

What's New in Spring Integration 2.2.RC1 (Part 1 - MongoDb)

Engineering | Oleg Zhurakousky | September 24, 2012 | ...

Introduction

Spring Integration 2.2.RC1 is out and we will be coming out with a set of blogs in the coming days discussing some of its new features. In this first blog we'll talk about MongoDb Inbound and Outbound Channel Adapters. Full set of discussed samples is available here

MongoDb Outbound Channel Adapter

MongoDb Outbound Channel Adapter allows you to write the Message payload to a MongoDb document store.

You can see the simplest configuration of the MongoDb Channel Adapter below:

<int-mongodb:outbound-channel-adapter id="deafultAdapter"/>

It will be initialized with the default instance of the MongoDbFactory (the default bean name is 'mongoDbFactory') otherwise you can provide its reference via mongodb-factory attribute.

Now you can run the MongoDbOutboundAdapterDemo. After running it open terminal window and start MongoDb CLI

$> mongo

Once in MongoDb CLI type a query:

> db.data.find({})

And you should see the 3 document entries we just created:

{ "_id" : ObjectId("505ff83d03649ed6881d…

This Week in Spring - 18th September, 2012

Engineering | Josh Long | September 19, 2012 | ...

Welcome to another installation of This Week in Spring! This week I'm in Bloomington-Normal, Illinois talking to StateFarm about Spring Projects: MVC, REST, Mobile, and Android. The developers here are code ninjas. Listening to their internal talks over the course of the day has been eye opening, to say the least. Don't miss the Spring, Groovy and Grails event of the year in Washington, DC: SpringOne2GX. If you haven't already registered, now's the time! Oh, and don't forget, if you're in the United States, today is national cheeseburger day! So... bon appetit!

    <LI> Chris Beams has announced the availability of <a href ="http://www.springsource.org/node/3654">Spring Framework 3.2 M2</a>, which features many new features including improved <CODE>TestContext</CODE> support, Spring MVC improvements, asynchronous <CODE>@Controllers</CODE>, and lots of bug-fixes and improvements.  </LI>
    <LI> This month's SpringSource webinar is coming fast - <a href ="http://www.springsource.org/node/3653"> Spring Security with Rob Winch</a>. Be sure to register now! </LI>
    <li> Martin Lippert has announced the availability  of the <a href="http://www.springsource.org…

This Week in Spring - September 11, 2012

Engineering | Josh Long | September 11, 2012 | ...


Welcome to another installation of This Week in Spring! I'm off to Oslo, Norway for the JavaZone conference to talk to people about using Spring Integration and Spring Batch on top of Cloud Foundry. Again, this is a natural use case: Cloud Foundry makes it easy to scale to handle the largest workloads, and Spring Integration and Spring Batch, presumably sitting on top of RabbitMQ, take care of the plumbing and do the heavy lifting of workload distribution across the cluster.

 <P>Wrapping up from last week's Cloud Foundry   Open Tour - India, touring <a href="http://opentour.cloudfoundry…

This Week in Spring - August 28th, 2012

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

Welcome back to another installment of This Week in Spring, VMWorld edition! We're at the VMWorld event, talking to developers about Spring and Cloud Foundry. There's been a lot of exciting news coming out of this event, including some interesting updates around vFabric and updates regarding the timelines for Cloud Foundry itself: CloudFoundry.com, the hosted PaaS from VMware, will be GA by end-of-year, and next year will see the availability of a private on-premise Cloud Foundry. Both vFabric and Cloud Foundry are ideal environments for your Spring applications, and it's nice to see these platforms evolve.

  1. Oliver Gierke has announced that the Spring Data Release Train has reached the station! This release is an umbrella release of several projects that provides uniformity across the various modules.
    	This release includes Spring Data Commons 1.4.0.RC1, Spring Data JPA 1.2.0.RC1, 
    	Spring Data MongoDB 1.1.0.RC1, Spring Data Neo4j 2.1.0.RC3 and Spring Data Gemfire 1.2.0.RC1.
    	
    	
    	  </LI>
    <LI> Gunnar Hillert has a nice blog introducing how to <a href = "http://blog.springsource.org/2012/08/23/spring-integration-extensions/">bootstrap custom Spring Integration adapter development.</a>
    	 
    	 </LI>
    
    <LI>  Gary Russel has announced that the latest iteration of  <a href  = "http://www.springsource.org/node/3639">Spring Integration, 2.2.0M4, is now available</a>.  Gary, a very busy man indeed…

Integrating Spring MVC with jQuery for validation rules

Engineering | Michael Isvy | August 29, 2012 | ...

I was thrilled to see in a recent survey from zeroturnaround that Spring MVC was voted the most popular web framework for Java.

This framework is very flexible and there are dozens of ways to use it. As with all flexible frameworks that have many options, it is important to discuss common practices.

The project I have created for this blog entry uses features common in many Spring MVC applications. You will find something like this:

In controllers you will find typical Spring MVC features for mapping requests, extracting request data through annotations, data binding, file upload…

On the…

Community-Driven Spring Integration Extensions

Engineering | Gunnar Hillert | August 23, 2012 | ...

The Spring Integration team proudly announces the availability of the Spring Integration Extensions repository. The main goal for this new GitHub-based repository is to promote a vibrant community of adapter and extension developers, and to encourage a broader segment of the community to contribute to the project. The Spring Integration Extensions project is hosted at:

This new repository will give us the flexibility to incorporate new contributions much more rapidly, without having to go through the core Spring Integration framework’s stricter vetting process. Since each community contributed extension is a separate project in the Spring Integration Extensions repository, it will have its own release life-cycle independent from the one that governs the core Spring Integration framework. As a result, this will allow for more frequent releases.

Over time, we expect that some of the lesser used Spring Integration modules may transition into the Extensions repository. On the other hand, for some extension modules, the Spring Integration Extensions project may also serve as an incubator, whereby they may eventually be incorporated into the core Spring Integration framework.

Thanks to several community contributions, the new repository already provides several adapters such as the XQuery Adapter (incl. support for XPath 2.0) and the SMB Adapter. Several adapters around Amazon Web Services (AWS) will be added in the coming weeks (Amazon S3, Amazon SNS, Amazon SQS). Furthermore, we are providing an early version of a Print Adapter and we are also working on an adapter providing WebSocket support using Atmosphere.

How Can I Become a Contributor?

If you have an idea regarding new extensions and/or adapters, please feel free to file a JIRA ticket. If you have already created an extension module and you want to contribute code, please fork the Spring Integration Extensions repository, add your module and issue a pull request. Before we can merge your code, though, you have to fill out the Contributor License Agreement. Once submitted, we and/or other community members will review your pull request and merge it. For much more detailed information, please take a closer look at the Contributor Guidelines for the Spring Integration Extensions project.

Creating New Spring Integration Extension Modules

One of the more popular extension types are Spring Integration Adapters. In order to simplify the process of writing custom adapters for Spring Integration, we now provide an Adapter Template for SpringSource Tool Suite (STS) 3.0.0. This template will make it very easy for contributors to build out new adapters quickly, while still ensuring consistency with those provided in the core Spring Integration framework (package structure, naming conventions, namespace handlers/parsers, etc).

The Spring Integration Adapter Template, which is part of the Spring Integration Templates project, creates a fully functional Spring Integration Module, and the template will create the following commonly used components:

  • Inbound Channel Adapter
  • Outbound Channel Adapter
  • Outbound Gateway

The template will not only create the core Java classes and some basic unit tests, but it will also provide XML Namespace support, which includes the XML Schema and the associated parser classes. Even if you create other types of components, this template should still give you valuable insights into how to develop those. For more information on using STS Templates for Spring Integration, please see the following blog posting:

The created adapter project will use Gradle as its build tool, and it closely follows the build tasks as defined for Spring Integration:

Build the Adapter project

    $ ./gradlew build
Install the Adapter project to your local Maven repository

    $ ./gradlew install
Generate the JavaDoc

    $ ./gradlew api
Generate metrics using Sonar

    $ ./gradlew sonar
Build the complete distribution

    $ ./gradlew dist

For more information please see How to Create New Components on the Spring Integration Extensions Wiki.

Further Resources

Spring Integration GitHub Repositories

For completeness, here is a list of all Spring Integration relevant GitHub repositories:

This Week in Spring - August 21, 2012

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

Welcome to another installment of This Week in Spring! This roundup is put together by aggregating lots of great content from all around the web. If you have content suggestions, or if you simply want a direct line to some of the content that we post, check us out on Twitter, and Google+. As usual, we've got a lot to go over, so let's dive into it.

  1. Up first this week, there is a lot of new content available on the SpringSource Dev YouTube channel.
    	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. 
    

    The video from VMWare engineer Jerry Kuch's webinar providing an update on the new features in RabbitMQ is also available. Finally, the video from the webinar that Ken Rimple, Srini Penchikala, and I did introducing how to more fully exploit Spring Roo's interactive add-on mechanism is available.

  2. Spring Security OAuth lead Dr. David Syer has announced that Spring Security OAuth 1.0.0.RC2 is now available.
  3. 	<LI> Remember our pal Tobias Trelle? He's got another fantastic article that's been published on InfoQ called <a…

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…

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