Spring YARN Application Model

Engineering | Janne Valkealahti | February 06, 2014 | ...

Now that Thomas has just released a fifth milestone for Spring for Apache Hadoop, I'd like to use this opportunity to talk about recent development in its new feature, Spring YARN.

One strength in our Spring IO Platform is interoperability of its technologies. Great example of this is how Spring Boot and Spring YARN are able work together to create a better model for Hadoop YARN application development. In this blog post I'd like to show an example of a new Spring Yarn Application model which is heavily based on Spring Boot.

Spring YARN Intro

Development life cycle from a moment when a…

Introduction to Apache Hadoop and Spring Data Hadoop

Engineering | Pieter Humphrey | February 06, 2014 | ...

Introduction to Apache Hadoop and Spring Data Hadoop by Hadoop expert Kailash Kutti (video from the Singapore Spring User Group)

http://www.singasug.com

Learn more about Spring Data at http://projects.spring.io/spring-data/

!{iframe width="560" height="315" src="//www.youtube.com/embed/w6qWNHOh3t0" frameborder="0" allowfullscreen}{/iframe}

This Week in Spring - February 4th, 2014

Engineering | Josh Long | February 04, 2014 | ...

Welcome back to another installment of This Week in Spring! There's a lot to cover so let's get to it.

  1. Spring Integration 3.0.1 maintenance release is now available, with lots of good bug fixes, and we encourage 3.0.0 users to upgrade now. Check out Gary Russell's blog about what's new in 3.0.0 if you haven't seen it yet, lots of new features.
  2. Spring Data's first release candidate of their "Codd" release train is now available!
  3. Join Spring Data project leads Oliver Geirke and Thomas Darimont on Feb 18th as they school us on Spring Data Repositories - Best Practices.
  4. On Feb 11th, don't miss an Intro to Apache Tomcat 8 Webinar with Apache committer Stuart Williams and Daniel Mikusa
  5. In other Apache Tomcat news, the maintenance release for Apache Tomcat 6.0.39 is now available. Head over to the TomcatExpert blog to check out the details.
  6. Zoltan's blog has a very nice post on building and deploying a Spring Boot application to Heroku! Check it out!
  7. Spring Batch lead Michael Minella gave a nice talk on Spring Batch and the Batch JSR, JSR 352 from SpringOne2GX, replay now available!
  8. Another SpringOne2GX replay this week, a fantastic talk from E*Trade architect Durai Arasan, on Real life use of Spring Integration with RabbitMQ at E*Trade. One of the best talks of SpringOne2GX 2013!
  9. spring.io lead and Spring ninja Chris Beams has put together a great post on what open-source means for all of us here at Pivotal. Check it out, and spread the word!
  10. Our pals at Neo4J got some great TechCrunch coverage about how Neo Technologies is changing the world of Graph databases!
  11. Blogger Brian put together a neat look at one way to handle common web development tasks like resource optimization (JavaScript transpilation, JavaScript and CSS minification, etc. ) with WRO4J and Spring. Check it out!
  12. Spring lead Juergen Hoeller put up a nice post on how to migrate from Spring 3.2 to Spring 4.0.(1).
  13. The Cygnet Infotech blog put together a neat infographic about Grails titled 6 Reasons Why Grails is an Awesome Java Web Framework. I have no idea what the infographic means by "Java" web framework, but it's certainly an epic JVM web framework, and the rest of it is as true as can be!
  14. The Programming Free blog has a post on building RESTful services with Spring MVC 4.0. This post is technically correct, but could stand to be even simpler! (See below)
  15. Fred George, who I had the pleasure of meeting last year (when I spoke at Oredev) through our mutual pal Chris Richardson, did a great talk in 2012 about building micro services which you can watch here. This video has nothing, specifically, to do with Spring. It instead focuses on building loosely coupled, discrete, micro services that - taken together - describe a system. Why do I mention this? Because Spring Boot makes it dead simple to build such services! Check out the Spring Initializr, select the functionality you need (perhaps web and JPA), open up Application.java, and then add a REST endpoint! Here's an example of a complete, working REST service powered by Spring Boot. The only thing I omit is the Maven (or Gradle) build file.

This Week in Spring - January 28th, 2014

Engineering | Josh Long | January 28, 2014 | ...

Welcome to another installment of This Week in Spring!

A quick reminder: I'll be co-presenting a webinar introducing how to use Spring and Vaadin, the rich internet application framework, together with some folks from Vaadin. We'll present some common integration options and a few not so common ones, too! Stay tuned, and I hope to see you there!

Also, I'm starting to flesh out my speaking agenda for the next few months. So far, I know I'll be at the Great Indian Developer Summit in Bangalore, India from April 22-25, and at be at Geecon in Krakow, Poland from 14 May - 16 May. If you're in either of those regions, I'd love to see you. If you host a JUG or a UG or have a large development team and audience, I'd love to have a chance to talk with you and your group, as well. Ping me.

As usual, we've got a lot to get through, so let's get started!

  1. Spring lead Juergen Hoeller has announced today a double feature release: both Spring 4.0.1 and Spring 3.2.7 have been released! Check it out.
  2. Phil Webb has just announced the first release candidate for Spring Boot 1.0.0!
  3. Join Apache Committer Stuart Williams and Daniel Mikusa for Introduction to Apache Tomcat 8 - Feb 8th, 2014. Reserve your seat now as this is likely to be another popular topic.
  4. Webinar Feb 18th! Don't miss Oliver Gierke and Thomas Darimont as they tell us about Best Practices with Spring Data Repositories.
  5. Did you miss Spring lead Juergen Hoeller's epic webinar introducing Spring 4 (which he gave twice, once for EMEA and once for NorAm timezones?) Did you also miss the two encore performances he gave a week later because the first webinar overwhelmed the web conference and left thousands of participants unable to access it? Then have no fear, you can now watch it online!
  6. Along those lines, Greg Turnquist just announced that all the guides on spring.io have been upgraded to the recently released Spring Boot 1.0.0.RC1!
  7. Nice! Spring MVC ninja Rossen Stoyanchev just announced an updated cut of Spring Web Flow, 2.3.3. It supports Spring 4 and JSF 2.2.
  8. Over on the All and Sundry blog, Biju Kunjummen has put together a nice post introducing how to use Spring's `` - an implementation of the super type token - to correctly marshal REST API responses back and forth over the wire using generic types that would otherwise lose their generic component at runtime due to erasure. He uses the example code from the Spring REST Stack, which I developed for a talk with a lot of help from fellow Spring team members Rob Winch, Roy Clarkson, Craig Walls, Rossen Stoyanchev, Arjen Poutsma, etc.
  9. Last November, I gave a talk, Have You Seen Spring Lately?. I had some trouble converting the talk from Keynote '09 to Keynote 7, and finally managed to get all that squared away. I've just uploaded the full deck (complete with extra content that some versions of this talk didn't include for want of time). I uploaded the deck on Sunday. You can find a link to the video there, as well. Enjoy!
  10. Readers of this column know that I love me some good package management, and OS X's Homebrew ain't half bad. Did you know that you can install Pivotal GemFire and tcServer using Homebrew? Once you've installed the pivotal tap (brew tap pivotal/tap), simply issue brew install tcserver gemfire. Easy as that!
  11. There's a deck for a talk on Spring for Apache Hadoop by Kailash Kutti.
  12. Blogger Sudhir Dharmadhikari really seems to like Spring Data, and even proposes a very flattering rename for the project. To learn about why, check out his blog.
  13. Spring Data ninja Thomas Darimont has just announced that Spring Data Redis 1.1.1 is now available.
  14. Greg Turnquist has penned a very nice blog post explaining how you, too, can contribute to the Getting Started guides.
  15. Meanwhile, over on the Pivotal blog, there's a nice post on how to use window functions in (SQL-based) data analytics. Ok, Ok, I know it has nothing to do with Spring, but it's just so darned useful. Besides, building smarter, data-centric applications will help you build smarter Spring applications!
  16. Pivotal Labs Canada engineering head Farhan Thawar has a nice post on the top 5 myths of mobile application development, which line up with what we've been talking about with our mobile technologies here on the Spring team at Pivotal. Check it out, then take a look at our getting started guides to learn how Spring can help you improve your mobile offerings!
  17. JHipster 0.8.0 is now out! The new release builds heavily on Spring Boot, and packs quite a whallop! Check it out!
  18. Hey, have you tried out the Getting Started guides, by the way? They're dead simple! My pal and colleague Pieter Humphrey sat down and narrated his run through of some of the guides. Check it out! These two videos demonstrate useful, working code, all in about 6 minutes each!
  19. BTW, I wanted to make sure people saw some of the great data- and Spring- centric posts on the GoPivotal blog from the last year. Here is one, _Adding Years to Your RDBMS by Scaling with Spring and NoSQL, another on How to Run Multiple Big Data Applications at Once with GemFire, and yet another on How to Migrate Spring applications to real time Data Grids.
  20. Speaking of Gemfire, there was just recently a very nice post on how the Chinese railroad system is using GemFire to beef up its capacity in advance of the January 31st Chinese new year (or "Spring festival"). If you're reading this from China, happy new year - year of the horse - to you! You might also check out this post I put together last year on Spring at China Scale.
  21. Check out this authorative guide on how Thymeleaf supports various templating styles. Templating and design can be a very important part of a site's utility, as this article - Why Simple WebSites are Scientifically Superior - explains!
  22. Spring Data lead Oliver Gierke has a very nice couple of posts on Stack Overflow. The first explains how to correctly use the PagedResourceAssembler with Spring Data, and the second answers the question, are you supposed to have one repository per table in JPA?
  23. There's a very good - both philosophically and technically deep - look at how to prevent unbounded queues with RabbitMQ.

It's easier than ever to create or contribute to a Getting Started Guide

Engineering | Greg L. Turnquist | January 23, 2014 | ...

Greetings Spring community!

We keep receiving feedback that Spring's Getting Started Guides are smash hit.

So far, we've migrated these guides to Asciidoctor. We have also grown our guides to include client-oriented ones. More are coming!

The final link in the chain of making these guides work in the long term are the navigational links in the sidebar of each guide. We are now using metadata to tag and link various guides together while also connecting them to relevant projects.

For example, if you visit Consuming a RESTful Web Service with AngularJS, you will see a sidebar that contains:

This Week in Spring - January 21st, 2014

Engineering | Josh Long | January 22, 2014 | ...

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

Quick reminder: if you're in the San Francisco bay area, be sure to join me tomorrow evening at the Oakland JUG where I'll be speaking about Spring and Spring Boot!

  1. Join us on February 11th for a webinar introducing what's coming in Apache Tomcat 8.
  2. Join Spring Data engineers Oliver Gierke and Thomas Darimont on February 18 for a webinar introducing Spring Data repositories best-practices
  3. Check out the replay of Spring MVC ninja Rossen Stoyanchev's talk from SpringOne2GX 2013 on WebSocket Applications with Spring Framework 4.0.
  4. Check out the replay of Spring Security lead Rob Winch's webinar introducing Spring Security 3.2
  5. Check out Mattias Severson's SpringOne 2013 session replay reviewing Spring MVC test APIs.
  6. Spring Security lead Rob Winch has a nice post on how cookies can be exploited if not properly secured.
  7. Meanwhile, over on the Pivotal blog, C24 Founder and CTO John Davies gives us a look at how C24 is delivering high scalability for large financial-services companies with Spring, RabbitMQ, Pivotal, and GemFire.
  8. Les Cast Codeurs, a French language coding podcast (though, fairly well dominated by JVM technologies), interviewed Grails and Reactor committer Stephane Maldini, check it out!
  9. The Squadron blog has a nice post on how to use TLS (and the instructions are basically the same for SSL). This post is not specific to Spring, but if you're looking at Spring Security's X.509 support, then this article will be very useful.
  10. Mkyong is back with another post, this time on using TestNG with Spring.
  11. The Blas from the Pas blog has a nice post on how to use Thymeleaf and Spring MVC. You might also check out our guide on the subject.
  12. Andriy Redko has a nice post on how to use the Scala language sbt build tool with a simple Spring application. The thrust of this post is to introduce sbt, which is an alternative build tool to things like Maven or Gradle.
  13. The Develop and Conquer blog has a nice post on using Spring 4's websocket support.
  14. Our pal Xavier Padró is back, this time with a look at how to migrate XML-configured web applications to the recently released Spring 4.0
  15. Spring Data lead Oliver Gierke's talk from Geecon, Data Access 2.0? Please welcome Spring Data!, is now available online to watch. Enjoy!
  16. Jakub Kubrynski has a nice post on using Spring's Java-centric web configuration options.
  17. The Remove duplications and fix bad names blog has a nice post on unit-testing with Spring and Mockito.
  18. The Isos Tech blog has a post on the subject of using two JPA EntityManagers in one Spring application.

Webinar: Spring Data Repositories – Best Practices

Engineering | Pieter Humphrey | January 21, 2014 | ...

Speakers: Oliver Gierke and Thomas Darimont

The repository abstraction layer is one of the core pieces of the Spring Data projects. It provides a consistent, interface-based programming model to allow implementing data access layers easily for relational and NoSQL databases. We will have a look at the lessons learned from the application of it in various customer projects and summarize best practices for you to apply in your projects. The session will also discuss advanced features like the Querydsl integration, the integration of custom implementation code as well as hooks into Spring MVC and Spring HATEOAS.

Tuesday, February 18, 2014 3:00pm GMT Time (London GMT) Register

Tuesday, February 18, 2014 10:00am PST (San Francisco, GMT-08:00) Register

Exploiting encrypted cookies for fun and profit

Engineering | Rob Winch | January 20, 2014 | ...

Introduction

Developers often incorrectly use encryption in an attempt to provide authenticity. For example, a RESTful application may mistakenly use an encrypted cookie to embed the current user's identity.

The mistake is that encryption can only be used to keep a secret while signing is used to verify authenticity of a message. In this post, I will explain and provide an example of why encryption is not a guarantee of authenticity.

If you just want to see code, feel free to skip to the end which has a sample Java application that demonstrates the exploit.

Encrypted Cookies (whoops)

Assume we…

This Week in Spring - January 14th, 2014

Engineering | Josh Long | January 15, 2014 | ...

Welcome back to another installment of This Week in Spring!

As usual, we've got a lot to cover, so let's dive right into it!

By the way, due to overwhelming demand, we're going to repeat the webinar introducing Spring 4 with Juergen Hoeller on January 23rd. Watch this space for when we open up registration. The expected times are:

Thursday, January 23, 2014 - 3:00pm GMT Time (London GMT)

  • closed as of Jan 20th

Thursday, January 23, 2014 - 10:00am PST (San Francisco, GMT-08:00)

  1. The replay of Ben Hale's talk on RESTful API evolution from SpringOne2GX 2013 is now available online
  2. Spring and Groovy/Grails Tool Suite lead Martin Lippert just refreshed the most popular article ever written on JavaLobby, Spring IDE and the Spring Tool Suite - Using Spring in Eclipse. Check it out!
  3. Spring XD lead Dr. Mark Pollack has just announced that Spring XD 1.0.0.M5 is now available
  4. Oliver Gierke's talk from SpringOne2GX "Spring RESTBucks: a Hypermedia Driven REST webservice" is now available online.
  5. Following the crazy success of the Spring 4 webinar on the 9th, Spring project lead Juergen Hoeller has just written a blog detailing the next steps for the framework, including Spring 4.1 and Spring 3.2.7.
  6. Have you tried the crazy cool shell built into Spring Boot? It's powered by CRaSH, which you can learn more about in this video
  7. The replay from Gunnar Hillert and Michael Minella's talk from SpringOne2GX 2013, Integrating Spring Batch and Spring Integration, is now available online.
  8. Matt Stine webinar, Spring with Immutability, is now available online.
  9. Rob Winch just announced that Spring LDAP 2.0.0 is now available online!
  10. Our pal Eugen Paraschiv is back at it again, this time with a post on Spring's HttpMessageConverters.
  11. Jakub Kubrynski has a nice post on integration testing Spring Integration and Spring 4
  12. Gary Russell has just announced that Spring AMQP 1.3.0.M1 and 1.2.1 RELEASE are now available. The new release is very meaty, so if you're using it, I strongly suggest upgrading!
  13. Sproogle 0.3.0, which is an integration with Spring and parts of the Google stack (that don't so far as I can tell include the OAuth pieces that Spring Social Google takes care of), is now available.
  14. On the GoPivotal blog, Steve Greenberg has a nice post on how to add a service to your Cloud Foundry architecture using Spring. Nice! I've been waiting for something like this for a long time!
  15. Our pals on the Vaadin team are doing a webinar on Spring and Vaadin integration best-practices on January 30th, 2014. Check it out!
  16. A little late, but RestHub, which integrates a full Spring-powered REST and web application stack, has just released RESTHub 2.1.4. Check it out!
  17. Rest Assured, which provides an alternative testing API for REST services, has just released a new version that supports Spring MVC.
  18. New Relic has just announced dedicated Grails support.
  19. Zan Thrash did a nice talk on InfoQ about using Node.js ecosystem tools for client-side development along with Grails. The talk has very little to do with Grails, actually, and could as easily be applied to Java and Spring MVC development. These tools are front-and-center for many different types of web application developers, and this talk is a good primer.

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