<P> What a week! So much to talk about and scarcely enough minutes in the day to manage.
Without any further ado, let's get on to it! </P>
- Jonathan Brisbin has announced the availability of Spring Data REST 1.0.0.RC1 . Spring Data REST helps you provide a RESTful interface for your JPA-based repositories.
- Oliver Gierke has announced Spring Data MongoDB 1.0.2.GA. The new release has plenty of bugfixes and improvements, so check the changelog for more.
- Wonder what happened to the RabbitMQ webinar that was briefly on the SpringSource events calendar? It was rescheduled (slight schedule mishap), but it's back and you should definitely mark your calendars with the updated dates. It figures to be an amazing event.
- Our pal Gordon Dickens - a world class trainer and engineer -
has been very busy recently.
If you haven't been following his blog recently, you missed an
introduction to the SpringSource Tool Suite - including its composition and value-added features, and answers some common questions.
Besides the great post on Spring 3.1's constructor namespace that we saw earlier this month,
he also had a great post on converting
from Spring OSGi projects to the Eclipse Gemini Blueprint namespaces for bundles. Nice job, as usual, Gordon!
Andy Chan has a nice post introducing how to use Spring Security 3.1.0 to talk to Microsoft Active Directory for authentication.
Nice job, Andy!
- Ben O' Day has put together a wonderful post on using Spring AOP to implement
basic performance monitoring.
- The Keyhole Software blog has a couple of very interesting blogs introducing Spring Batch: the first introduces the high level concepts and the second introduces some actual code. Definitely worth a read.
- The Stardog blog (merely uttering that is fun..) has a
a very cool example introducing how the Stardog RDF database server could work with Spring by way of an example: the Stardog Petstore! So cool...
Andriy Redko has a nice post on using Redis with Spring Data Redis.
- Ken Rimple, co-author of Manning's Spring Roo in Action, has put together a nice post on using Spring Roo and Spring Webflow.
Michal Letynski has a nice post on using
Spring 3.1's support for the
@Valid annotation on
@RequestBody controller method arguments.
- I suspect we probably covered some of these before, but just to be sure, I wanted to point everybody to this series of blogs introducing the concepts of AOP, and how they're implemented in practice using the raw JDK, Spring's AOP and AspectJ, which Spring has fantastic support for. For the other blogs, simply scroll to the bottom of the page and you'll find links.
Madhusudhan Konda, author of O'Reilly's Just Spring and Just Spring Integration, has a new book - this one, called Just Spring Data Access, which introduces the nitty gritty of the core data-access technologies in the Spring framework (it does not, however, introduce the Spring Data technologies). While I haven't read it (though I'll be sure to read it eventually and possibly write a book review!), it looks interesting.
- Arnon Rotem-gal-oz has written a good over-coffee introduction to AMQP and RabbitMQ terminology (if not their application. For that, you might check out this blog introducing the Spring support for JMS and AMQP ).
The VoltDB blog has a pretty nice writeup of how to implement repositories with Spring and VoltDB to build high throughput web applications.
Another great post from the VoltDB blog talks about using the Spring Converter API with VoltDB's Data Objects. The idea is a bit unusual, but pretty slick when you think about it: let Spring's generic converter registry handle converting Volt's notion of record sets (objects of type
VoltTable) into regular, domain-specific objects. You codify the recipe once - as a Spring
Converter, and then simply reuse it later.
In other data-access strategies, this same effect is achieved using, for example, the
RowMapper callback interface, which lets you codify and reuse the recipe for converting a JDBC
ResultSet into a domain-specific object.
Finally, all of these blogs come to a head in this blog introducing the performance tests done against the previous application.