Early Access: SpringSource Tool Suite for Eclipse Indigo (3.7)

The Eclipse Indigo (3.7) M6a packages are available for download from Eclipse since a few days, so its time for us to allow you to use the SpringSource Tool Suite (STS) on top of that milestone version. :-)

Its just an early access version of STS, but we managed to get all the pieces together for Eclipse 3.7: An AJDT version for Eclipse 3.7, a Groovy-Eclipse version that runs of 3.7 and the SpringSource Tool Suite itself, of course, containing Spring IDE, Grails tooling and all the other nice features you know from STS - all now also running on top of the latest Eclipse Indigo milestones.

Read more

This week in Spring: March 22nd, 2011

Another great week - lots of new (and novel!) types of content and indeed, new sources of new content, too! Enjoy!

  1. SpringSource unveiled the new SpringSource YouTube channel. This channel features exciting technical content on the SpringSource technologies, and should be your first destination for new content and for content that you might’ve missed the first time around. Check it out today! Personally, I find that this channel is fantastic on a big screen TV that supports a browser or YouTube (Google TV/Apple TV/slingbox/etc.) or on a peripheral screen - like a second laptop or second monitor. You can also listen to it on a portable device like an iPhone in the car, on the commute.

  2. …Speaking of the YouTube channel, the content and slides of last week’s webinar -
    Getting Started with Spring and STS - is available for those that missed it. Juergen Hoeller, lead of the Spring framework, introduced the exciting next generation (3.1) of the Spring framework a few weeks ago in a live webinar, which is also available on the SpringSource YouTube channel!

  3. Martin Lippert has announced the latest release of the SpringSource Tool Suite, version 2.6.0. The new release is packed with new features, and tracks the latest versions of various projects (Spring Roo 1.1..2, Eclipse Helios SR2, Groovy 1.7.8, Grails 1.3.7). It included updated support and performance for both Spring Roo and Groovy on Grails, a graphical editor for Spring Web Flow, and new support for content assist, quick fixes and refactorings for Spring annotations (@Autowired, @Qualifier, @RequestMapping, etc.).
  4. Ramnivas Laddad pointed This Week in Spring to this very innovative Chrome browser plugin. To use it, type "spring" in the omnibox bar (the search/address bar) followed by a space, and then the nane of the class that you are searching for. It'll automatically bring up candidate results linked to the documentation! Fantastic, and handy! (NB: we tested this with the just-released Chrome 10, though it no doubt works with at least Chrome 9.)
  5. InfoQ has the video of Mark Pollack’s and Chris Richardson’s amazing introduction to Spring Data from the SpringOne2GX event last year in Chicago. Spring Data is a great way to take advantage of these new, powerful datastore options (sometimes called “NoSQL” stores) in a way that’s familiar, and idiomatic for Spring users. Check it out!

  6. The latest release of the Spring Data project featuring support for Neo4j has been released. The new version includes many new features and tracks the latest version of Neo4j, itself. Neo4j is one of the many new specialized datastores available to developers today. Neo4j models data as relationships and nodes. It’s optimized for fast node traversal, as in a Facebook friend-graph, for example.

    Additionally, SpringSource is producing a webinar on Spring Data (and specifically, the Spring Data Graph subprojct encompassing the Neo4j support) on April 20th. The presentation will be presented for both North America and for Europe. Register now!

  7. The Spring framework helps you build the best applications. Spring Social builds on that promise and lets you integrate your application with your users. The JTeam group is at it again, this time with an interesting updated look at Spring Social complete with source code and a sample application. Check it out!

  8. Spring MVC provides support for many different types of views, including RESTful payloads, Velocity templates, JSPs, and Tiles-based views. This blog post explains how to integrate Spring MVC with Tiles

  9. Ken Rimple from Chariot Solutions has recorded a screencast on the newest member of the SpringSource family, Wavemaker.

  10. More people are using the Spring framework now than ever before, and a consequence of that that growth is newer, specialized support for Spring in various tools. One UML toolmaker - Architexa - talks about their enhanced support for the Spring framework in their Eclipse-based product.
    Check out this blog for more.
  11. Ashish Jain provides an interesting perspective on Spring 3.1’s new caching support.

    Ashish’s chosen to simplify his software stack (by removing Hibernate, and instead using straight JDBC through the Spring framework’s JdbcTemplate, a great choice!), but was worried about having to give up Hibernate’s declarative, 2nd level caching. With the cache support in Spring 3.1, he can have his cake and eat it too, regardless of the underlying data access technology!

  12. Stuck on JBoss AS? Still need to be productive, and need better security support in your application? This blog walks through setting up Spring Security 3 on JBoss. Check it out.
Read more

This week in Spring: March 15th, 2011

Another great week for good, deep content. Most of the items on the list this week are best enjoyed with a nice cup of coffee and a nice, comfy chair. :-) Enjoy!

  1. SpringSource will be presenting a free webinar - Getting Started with Spring and SpringSource Tool Suite - this Thursday. The presentation will give experienced folks a look at some of the new methodologies, and will give newcomers to the technology a chance to get started with it and move quickly into productive application development. Additionally, attendees will have a chance to ask questions of the presenter and panelists. The webinar will be presented twice, once for Europe, and once for North America. I hope to see you there!
  2. Spring MVC lead Keith Donald’s video introducing Spring MVC 3 from SpringOne2GX is up on Great video with lots of information in just 90 short minutes. Check it out!

  3. Craig Walls posts this week on Extending Spring Social’s Service Provider Framework, this time introducing an example integration with the Netflix API. Very informative post, and inspiring - I couldn’t help but have exciting ideas for applications pop into my head when I was reading it.


  4. This VMware whitepaper provides a pretty good look at the migrating from a Java EE application server to the leaner, more powerful SpringSource tcServer. It makes for some fascinating reading - and highlights some very interesting information. Check it out!
  5.     <li>The whitepaper exploring a migration from a Java EE application to tcServer has a companion <a href="">in this VMware</a> whitepaper,  that talks about the migration from Tomcat to tcServer. Pretty exciting!

  6. This blog post introduces high thoroughput, asynchronous Servlet 3.0 applications. The post is useful for people using Tomcat or tcServer, particularly, because they represent the largest Servlet 3.0-compatible install base, by far.

Read more

Extending Spring Social's Service Provider Framework

Last week, I introduced you to Spring Social's Service Provider "Connect" Framework and showed you how it simplifies creating connections between a user's local application account and their accounts on Software-as-a-Service (SaaS) providers. Today I want to show you how to extend the service provider framework to handle connections to providers that aren't directly supported by Spring Social.

Extending Spring Social for Netflix

Suppose that you're developing a movie review website where users can go to read and post short movie reviews. Normally, the movie reviews are displayed with the most recent entries appearing first on the home page. But if a user has connected their account to their Netflix account, then you can show them reviews for the movies in their Netflix disc queue. To pull this off, you'd like to take advantage of Spring Social's Service Provider Framework for connecting your user's accounts with their Netflix accounts. Spring Social 1.0.0.M2 doesn't include a Netflix service provider or API binding, but can be easily extended to work with providers that aren't directly supported.

Read more

This week in Spring: March 8th, 2011

This week has seen yet another flurry of exciting new releases and updates, great community content and the exciting announcement welcoming WaveMaker to the SpringSource family.

  1. Rod Johnson announced the acquisition of WaveMaker today in the SpringSource blog. WaveMaker is a widely used graphical tool that enables non-expert developers to build web applications quickly. From the post: "While WaveMaker is already part of the Spring ecosystem, it will now become an integral part of the Spring family and VMware's cloud strategy. All of WaveMaker's staff will be joining VMware." Exciting news! Be sure to check out the post for all the details.
  2. Craig Walls announced the M2 of the Spring Social project last week and this week provided a great look at the Social Service Provider framework in Spring Social. Exciting stuff, and any that wishes to interoperate with this framework - either because you want to consume a social network’s API or you want to provide a Spring Social binding for your network’s API - should definitely read this blog

  3. The Tomcat Expert community just announced that Tomcat 7.0.10 has been released. The new update includes several bug fixes and security fixes, as well as a few cool features.
  4. In the second installment of a blog tutorial introducing Spring Web Services, blogger "panbhatt" introduces JAXB and the Spring OXML (object-to-XML) marhsalling framework.
  5. Ravindra Rawat introduces a cool movie-recommendation application using Spring Data and Redis, complete with sample code on Github! This is very cool! If you're at all curious as to the power of some of the NoSQL solutions, then usable, relatable everyday applications like this one ought to assuage your curiosity!
  6. Chad Lung at the Giant Flying Saucer blog introduces a 5 minute tutorial to starting a Spring MVC project by using the free SpringSource Tool Suite. I like this blog, but I have one small complaint: I followed his steps and it only took 3 minutes! :-)
  7. had a great introduction to all the new features in Spring WebServices 2.0. It’s one thing to make a claim - in this case that Spring WS is the “Best Java Stack for SOAP-based Web Services” - but this article also provdes it

    while providing a good introduction to Spring Web Services, in general. Nice job!

  8. This post demonstrates

    how to integrate a Spring Roo Vaadin form into Magnolia CMS. Vaadin is a web framework that takes the GWT programming paradigm to its logical extreme, and can make a very compelling alternative to traditional, component-centric, server-side frameworks like JSF.

  9. While I was wading through all the Spring Data content for this week’s roundup, I discovered, in a roundabout way, that that Emil Eifrém’s amazing talk introducing Spring Data from the Oredev conference last year was up! Emil Eifrém is the CEO of Neo Technology, and the founder of the Neo4j graph database project.

  10. Moez Ben Rhouma, who also previously demonstrated integrating Spring Security with ExtJS, demonstrates how to setup Spring Security 3 with Wicket. Pretty cool!
  11. Want a look inside Apress' Spring Persistence with Hibernate book? Read this book review
Read more

Addressing a Big New Audience: VMware Acquires WaveMaker

Today, VMware announces with this blog the acquisition of WaveMaker, a widely used graphical tool that enables non-expert developers to build web applications quickly.  While WaveMaker is already part of the Spring ecosystem, it will now become an integral part of the Spring family and VMware’s cloud strategy. All of WaveMaker’s staff will be joining VMware.

This acquisition furthers VMware’s cloud application platform strategy by empowering additional developers to build and run modern applications that share information with underlying infrastructure to maximize performance, quality of service and infrastructure utilization.

Read more

Introducing Spring Social's Service Provider Framework

In my previous post, I introduced you to Spring Social's Java bindings to popular Software-as-a-Service (SaaS) APIs such as Twitter, Facebook, LinkedIn, and TripIt. In addition to providing simple, strongly-typed Java methods for common API operations, these bindings ensure each HTTP request includes the credentials required to authorize your application to invoke the API on behalf of a user.

What my first post did not address was: how do we manage the credentials required to invoke service APIs on behalf of users? I'm pleased to say that we now have answers to that question.

Read more

This week in Spring: March 1st, 2011

This week has seen yet another flurry of exciting new releases and updates and great community content. Hold on to your hats! Let's get right to it.

  1. Spring Roo 1.1.2 has been released. This new release contains over 200 enhancements, new features and fixes since the 1.1.1 release last month. Some of the highlights include enhanced tool usability, persistence enhancements, GWT and Spring MVC enhancements, and library upgrades.
  2. Martin Lippet has just announced the 2.5.2.SR1 and 2.6.0.M2 releases of SpringSource Tool Suite. The 2.5.2.SR1 "refresh" has updated support for Groovy 1.7.8, Grails 1.3.7, an update to Eclipse Helios SR2 (3.2.6), and the just-released Spring Roo 1.1.2. The 2.6.0.M2 mileston also includes a Roo plugin manager, improved support for @RequestMapping, and tons of improvements to the Groovy and Grails tooling.
  3. Martin Lippet has also put together information on the oft-asked and newly answered question: how do

    I contribute custom Project Templates in SpringSource Tool Suite?

    Have a cool project setup recipe and want to codify it and share it easily with other STS users in your company, or indeed, the community? Now you can!

  4. Continuing the series introducing Spring 3.1, Costin Leau wrote up an introduction to the caching abstraction that will let you integrate a cache like GemFire, Ehcache, basic JDK ConcurrentMap-based caches, and numerous other caches that implement the SPI with your application.

  5. A new entry in the Green Beans series is up, this one on Getting Started with Spring Integration. Check it out to learn all about how you can use Spring to solve your integration problems with Spring Integration

  6. Spring Web Flow 2.3.0 has been released. The new release features many new features: JSR 303 bean validation support, embedded flows (ie, you might imagine a modal dialog on a page with its own flow entirely unto itself - the enclosing page need not be refreshed so that the embedded flowa can continue through Ajax.), automatic propagation of flow-managed PersistenceContext to sub-flows, support for Portlet 2.0 resource requests, and much more.
  7. Spring Social 1.0.0.M2 has been released. The new milestone is packed with new features along several themes. The new release splits apart the concepts of connection and authentication from the APIs for the various software-as-a-service providers, so now you can leverage both peices together, or independantly. The new release also expands the initial support for Saas offerings, including Github. Check it out and provide feedback!
  8. Speaking of Spring Social, Craig Walls - Spring Social project lead - did a talk on developing social-ready web applications at SpringOne2GX 2010 last October. You can watch it on

  9. Blogger Matt Raible has written up a post exploring Ajax authentication using Spring Security, HTTPS and jQuery. Very cool. and detailed! Check it out!
  10. The latest release of the Spring Data Graph project, version 1.0.0.M3, supporting Neo4j has just been released. This release brings with it many new features, including an update to Neo4j-1.3.M03, AspectJ 1.6.11.M2, explicit support for detachable entities, bean vaidation, Java config simplifications, a full-featured Neo4jTemplate, and much more!
  11. Eclipse Virgo, 3.0.0.M2, is now available for download! The new release features bug fixes on top of a substantial collection of changes from the recent M01 milestone.
  12. Want to work with RESTful services, but don't want the verbose XML payload slowing down your communication? REST is just an application of HTTP, and HTTP provides us with an amazing arsenal of tried and true tools and techniques to scale HTTP based applications. One common approach is to use GZip compression. In this post, blogger Stephan Oudmaijer introduces an approach for using Spring's RestTemplate with GZIP compressed payloads to support just that use case!
  13. Sivaprasadreddy Katamreddy is at it again, this time with a good look at how to write a Spring / Hibernate application with no XML leveraging the Spring 3.0 Java configuration model. Always handy to have a recipe like this book marked for next time!

  14. Ever needed to interface with LDAP from Java? Search no further than the Spring LDAP project, which provides a clean, comprehensive facility for just that. This post on using Active Directory (AD Windows

    Server 2008) from Java and Spring LDAP provides a great introduction.

  15. There's always some great new use of the Java-based configuration mechanism in Spring 3.0. This time, blogger Jason Stillwell writes about how to use Spring Java configuration to handle injection in a public static void main() method.
Read more

Custom Project Templates in SpringSource Tool Suite

The SpringSource Tool Suite (STS) provides the New Spring Template Project wizard. Uses this wizard, the user can see a number of project templates, choose one and let the wizard create a complete project, based on that template description. While this gives you an easy way to create new projects, you might wanna define your own custom project templates for your team or your organization. And we will show you how to do this in the following.

1. Step: Contribute a new resources extension to STS

So the first step is to create a new and empty plugin project. You don’t need Java code in there, so don’t create this as a Java project. Just create a new plugin project, deselect the Java options in the wizard and you are done.

Read more

Green Beans: Getting Started with Spring Integration

Applications don’t exist in a vacuum. They need to communicate with their customers and with other applications. Application Integration is all about enabling this communication. Integration lets applications share services and data with each other, and, just as often, integration helps applications connect with their users.

Spring Integration provides a framework to build integration solutions, to facilitate these kinds of solutions. Spring Integration solutions describe the flow of data through a pipeline. Data enters the processing pipeline as a message. The message is moved forward through named pipes (called channels) that route the data to different components (called endpoints). You can string as many endpoints and channels together as you like.

Read more