This Week in Spring - July 15th, 2014

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

Welcome to another installment of This Week in Spring! It's been a crazy week and next week figures to be even crazier! Some of us on the Spring team - including Spring Boot co-lead Phill Webb, Spring Batch lead Michael Minella and myself, will be at OSCON next week, so if you're in the area and at the show come say hi! We'll be at the booth at various hours, too.

  1. Spring Batch lead Michael Minella has just announced Spring Batch 3.0.1, and a new Spring Batch extensions repository which itself houses new integrations with Spring Batch. The first contribution is an ItemReader and ItemWriter for Elasticsearch. Nice!
  2. Spring Data ninja Thomas Darimont has just announced support for SpEL in Spring Data JPA @Query annotations
  3. Spring and Groovy Tool Suite lead Martin Lippert has just announced Spring Tool Suite 3.6.0 and Groovy Tool Suite 3.6.0, based on Eclipse Luna 4.4, with support for Groovy 2.3, Grails 2.4, tc Server 2.9.6, and other minor improvements and bugfixes.
  4. Spring Data ninja Christoph Strobl has just announced Spring Data Evans m1, in which many new revisions are included.
  5. Speaking of the first milestone of Spring Data Evans, Spring Data REST ninja Greg Turnquist has just announced that Spring Data Evans M1 milestone comes with ALPS metadata support. FTA: ALPS provides a way to interrogate a RESTful service to find out about the data it serves. Let's look at a quick example. If you clone the TODO repo and run mvn spring-boot:run, you can surf it's values pretty easily. So.. check it out! I know many have been asking about simialar support.
  6. Check out this upcoming webinar by Michael Plod on why he recommends Spring - learn the technology (and a bit of the business) case! Michael is a great speaker and frequently appears at conferences. Register now for the event on July 22nd.
  7. On July 29th, Russ Danner from Crafter software will tell us about Conquering Content-enabled Web and Mobile Applications with Spring and Groovy.
  8. Andreas Eisele has put together a very nice introduction to the machinery behind using @Transactional in your Spring-managed unit-tests, with analysis of common scenarios, code, and more. Vert cool discussion, and a thoughtful post.
  9. The Cegega blog has a very cool look at handling exceptions using Spring Batch's RetryTemplate.
  10. This subject's near and dear to my hear this week, so I just wanted to share this oldie-but-a-goodie: how to use Atomikos with Spring's JTA support
  11. You are, of course, checking out Groovy-language lead Guillaume LaForge's This Week in Groovy, aren't you? :-)

SpEL support in Spring Data JPA @Query definitions

Engineering | Thomas Darimont | July 15, 2014 | ...

Spring Data JPA allows manually defining the query to be executed by a repository method using the @Query annotation. Unfortunately parameter binding in JPQL is quite limited only allowing you to set a value and providing some type conversion. The latest Spring Data JPA M1 release of the Evans release train eases this pain by adding support for using SpEL expressions to use dynamically bound parameters within statements in @Query annotations which provides additional flexibility when defining queries manually. In this blog post, I am going to introduce you to the capabilities of this feature.

Spring Data REST now comes with ALPS metadata

Engineering | Greg L. Turnquist | July 14, 2014 | ...

With the recent release of Spring Data's Evans M1 milestone, Spring Data REST now comes with support for ALPS metadata to describe the semantics of the resources exported.

ALPS is a data format for defining simple descriptions of application-level semantics, similar in complexity to HTML micro-formats. It also supports adding its metadata to existing media types. As of version 2.2 M1, Spring Data REST exposes JSON based ALPS resources that can help us navigate its resources. Let's see how!

We can start with a quick example. If you clone the TODO repo and run mvn spring-boot:run, you can…

This Week in Spring - July 8th, 2014

Engineering | Josh Long | July 08, 2014 | ...

Welcome to another installment of This Week in Spring! I hope our American readers had a pleasant 4th of July, and I hope everybody else had a pleasant Friday!

There is, as usual, a lot to discuss this week so let's get to it!

  1. Sleepless Spring Security lead Rob Winch has just announced the first milestone of Spring Session. Spring Session makes it easy to access a session from any environment (i.e. web, messaging infrastructure, etc), support for clustering in a vendor neutral way, plug in strategies for determining the session ID, and easily keep the HttpSession alive when a WebSocket is active. This is really cool! And, in fact, it might solve an issue I faced just last week where I wanted to access the HTTP session from a Web Socket handler!
  2. Andy Wilkinson has just announced Spring Boot 1.1.4 release. The new release includes many bug-fixes and small new features, including support for the first stable preview release of Tomcat 8.
  3. Andy also just announced the first maintenance release to Spring IO which updates versions across the platform to include Spring AMQP 1.3.5, Spring Boot 1.1.4, Spring Batch 3.0.1, Spring for Apache Hadoop 2.0.1, and Spring Framework 4.0.6. Nice job, Andy!
  4. Thomas Risberg has just announced Spring for Apache Hadoop 2.0.1 which revs the dependency versions, including Hadoop 2.4.1, Spring framework 4.0.6.RELEASE, Spring Batch to 3.0.1.RELEASE, Spring Boot to 1.1.4.RELEASE.
  5. Stéphane Nicoll has just announced that Spring framework 4.0.6 is now available. This release includes about 50 bugfixes.
  6. Spring Social lead Craig Walls has just announced that Spring Social Facebook 2.0.0.M1 is now available. This release supports the new Facebook v2.0.0 Graph API, which introduces some breaking, obligatory, changes (thanks, Facebook!).
  7. Groovy project lead Guillaume LaForge has announced the beta of the new Groovy website and is soliciting feedback from the community at large.
  8. From the trenches: Join Casey Doolittle and Phil Dutson on July 15th for a webinar about a crazy project, and how they had to Build a Shopping Cart in 24 Hours using Spring.
  9. Check out this upcoming webinar by Michael Plod on why he recommends Spring - learn the technology (and a bit of the business) case! Michael is a great speaker and frequently appears at conferences. Register now for the event on July 22nd.
  10. On July 29th, Russ Danner from Crafter software will tell us about Conquering Content-enabled Web and Mobile Applications with Spring and Groovy.
  11. Last year, Spring tool ninjas Andy Clement and Martin Lippert did a great talk at SpringOne2GX 2013 introducing the latest and greatest tooling.
  12. Last year at SpringOne2GX 2013, Julien Dubois (you might recognise him from JHipster..) did a great talk looking at how to run and performance tune the classic Spring petclinic application.
  13. Dr. Dobb's had a nice post looking at the new Spring IO release.
  14. InfoQ's Matt Raible also put together a nice look at Spring IO. Check it out!
  15. The Literate Java blog has an interesting post on implicit (component-scan-centric) vs. explicit configuration (using XML) in Spring. I'd argue that Java configuration should really be considered as it offers the best of both explicit XML configuration (centralized, easy-to-reason about configuration) and implicit, but type-safe, Java annotation-and-component-scann-centric configuration. Either way, interesting post!
  16. Spring Boot is now in Thoughtwork's technology radar under assess.
  17. The Codeleak.pl site has a nice look at one of the smaller, but super powerful, features in Spring 4 - CGLIB proxies no longer require a default constructor!
  18. I've enjoyed this series of tutorials on using Spring and Angular.js. You might as well. Nice job, Christopher Henkel!
  19. The Apprenticeship Notes blog has a nice series of tutorials on how to use Spring MVC, Thymeleaf, and Bootstrap together.
  20. The Autoletics blog has a nice, numbers-filled, look at their experience profiling the Reactor project. Interesting stuff! Some of the points are interesting, too. As readers of this roundup know, Reactor is a highly concurrent event-driven IO-ready platform. And, it's ridiculously fast.
  21. I wanted to give a hat tip to Paul Snively, who has been using the 1-2 punch combo of the Spring (and Scala) and a third-party integration of Spring MVC for Alfresco to build Alfresco-powered solutions. Nice!
  22. Whether you like the new Groovy website or not (although, why wouldn't you?), you'll love the new Groovy 2.3.4 release which just dropped today and includes improvements on static compilation and AST transformations.
  23. HornetQ project-lead Clebert Suconic is inviting community feedback about a proposed contribution of HornetQ to the Apache ActiveMQ project. We know that developers in our community know and use both, so perhaps now's a prudent time to feedback if this proposed merger affects you! I personally like the idea. ActiveMQ.next (long codenamed "Apollo") seems like it could use the hug that a HornetQ-contribution could give it. And, of course, Spring Boot supports both ActiveMQ and HornetQ now, so either way, you're set!

Spring Session 1.0.0.M1 Released

Engineering | Rob Winch | July 08, 2014 | ...

I'm pleased to announce the release of Spring Session 1.0.0.M1.

Benefits

This project provides a number of benefits including:

  • Accessing a session from any environment (i.e. web, messaging infrastructure, etc)
  • In a web environment
    • Support for clustering in a vendor neutral way
    • Pluggable strategy for determining the session id
    • Easily keep the HttpSession alive when a WebSocket is active

Getting Started

Refer to the Quick Start section of the README to learn how to you can use Spring Session in your application.

Feedback Please

If you have feedback, I encourage you to reach out via github issues, via the comments section, or ping me on twitter @rob…

This Week in Spring - July 1st, 2014

Engineering | Josh Long | July 02, 2014 | ...

Welcome to another installment of This Week in Spring! It's already July, and Summer is here! Can you believe it? Time sure flies. We've got a lot to cover this week, as usual, so let's get to it.

  1. Last week, we announced the Spring IO platform. I won the lottery on this one, and they let me write the blog, but this effort reflects more than a year of internal discussion, planning, hard work, cooperation and coordination between all the Spring projects. I did my level-headed best to introduce the Spring IO platform in this blog. You should read it. If it doesn't sound awesome and very, very useful, than I've simply done a poor job explaining it! :D Don't hesitate to reach out. The Spring IO platform is a radically simpler way of dealing with dependencies across all the Spring…

Introducing the Spring IO Platform

Engineering | Josh Long | June 26, 2014 | ...

We're pleased to announce the release of Spring IO 1.0!

Spring IO is first and foremost a logical description of what many of users will already know and use as a single, cohesive, harmonized platform, centered around Spring.

Big Things Come in Small (Java) Packages

The Spring IO platform includes Foundation Layer modules and Execution Layer domain-specific runtimes (DSRs). The Foundation Layer represents the core Spring modules and associated third-party dependencies that have been harmonized to ensure a smooth development experience. The DSRs provided by the Spring IO Execution Layer…

This Week in Spring - June 24, 2014

Engineering | Josh Long | June 24, 2014 | ...

Welcome to another installment of This Week in Spring - this week I'm working with the amazing Vaadin team on building some ridiculously fun applications. Be ready for more on that soon! Also, the SpringOne2GX 2014 early bird has been extended to June 30th, so register now! Without further ado, onward:

This Week in Spring - June 17, 2014

Engineering | Josh Long | June 17, 2014 | ...

Welcome to another installation of This Week in Spring. This week I'm in Toronto, Canada, visiting the Pivotal Labs offices and talking to customers doing amazing things with different parts of the Spring platform.

There is some very exciting news coming tomorrow, so be sure to check this blog tomorrow!

  1. Spring for Hadoop 2.0 GA has been released! The new release adds support for Apache Hadoop (2.2, 2.4), Pivotal HD 2.0, Cloudera CDH 5, and Hortonworks HDP 2.1, supports YARN, new readers/writers for working with HDFS, new support for reading and writing POJO datasets using the Kite SDK, and a lot more.
  2. Spring YARN ninja Janne Valkealahti has put together some epic guides introducing Spring YARN. Related: there are Canadian banks interested in this stuff! BANKS - the most risk averse organizations in the world!
  3. Stéphane Nicoll talks about the improvements in our Spring Cache abstraction coming in Spring 4.1.
  4. Stéphane also debuts the new Getting Started guide that introduces the Spring Cache abstraction. Very cool!
  5. Join Greg Turnquist on July 8th for a webinar about Building your app management tools with Spring Boot. See how to monitor application logs using a little Spring Integration, Spring WebSocket+STOMP, and other technologies, all with some lightweight Boot+Groovy code.
  6. From the trenches: Join Casey Doolittle and Phil Dutson on July 15th for a webinar about a crazy prioject, and how they had to Build a Shopping Cart in 24 Hours using Spring.
  7. Check out this upcoming webinar by Michael Plod on why he recommends Spring - learn the business and technology case! Michael is a great speaker and frequently appears at conferences. Register now for the event on July 22nd.
  8. On July 29th, Russ Danner from Crafter software will tell us about Conquering Content-enabled Web and Mobile Applications with Spring and Groovy.
  9. SpringOne2GX 2013 replay from Splunk: Integrating Splunk into your Spring Applications
  10. SpringOne2GX 2013 replay from JFrog: Open/Closed Software - Developing freemium application using Spring Framework
  11. Kailashnath Kutti talks about scripting and and querying Hadoop at the Singapore Spring User Group. Nice talk, check it out!
  12. Speaking of Hadoop, check out this article on GigaOm about the state of the Hadoop ecosystem, and of Pivotal's contributions
  13. I liked Rafał Nowak's introduction to Spring Boot.
  14. There's a nice post on Dzone by Lubos Krnac on secure-by-default vs. secure-by-exception approaches to using Spring Security. I like it! The nice thing about Spring Security is that the choice is always yours.
  15. Sezin Karli put together a nice post on how to use Spring Boot's auto configuration support for Spring Social
  16. I loved Netflix engineer Tomas Lin's great post on reading and validating lists of properties with Spring Boot.
  17. Congrats to team Socrates on winning the Neo4j prize at HackSummit for most innovative use of a graph Database for social good. Does this have much to do with Spring? No, it's just that Neo4j's a very nice choice for many different types of data workloads. You might check out the webinar the amazing Michael Hunger and I did on the topic a little while ago!
  18. An oldie but a goodie: Keyhole software's Mark Adelsberger put together a nice post on how they use Spring's RabbitMQ support, following a tutorial on the same subject.

Further Cache Improvements in Spring 4.1

Engineering | Stéphane Nicoll | June 16, 2014 | ...

This post is a follow-up of my earlier post related to JSR-107. Adding JSR-107 support gave us the opportunity to review our own and see how the two can live happily together. Spring 4.1 also contains a series of improvements reported by the community.

I am also happy to announce that a new getting started guide dedicated to the cache abstraction has been published, check Caching Data with Spring!

CacheResolver

One of the nicest features we found in JSR-107 was the ability to resolve the cache to use at runtime, that is based on the actual method execution. So far, our own support was relying on cache name(s) being specified at the annotation (or aspect definition) level. Several issues were raised to report that when more than one CacheManager

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

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

Learn more

Get support

Tanzu Spring Runtime 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