Dave Syer

Dave Syer

Founder of Spring Cloud, Spring Boot, Spring Batch, lead of Spring Security OAuth, and an active contributor to Spring Integration, Spring Framework, Spring AMQP, Spring Security. Experienced, delivery-focused architect and development manager. Has designed and built successful enterprise software solutions using Spring, and implemented them in major institutions worldwide.

Recent Blog posts by Dave Syer

Spring Batch 1.1.0 Released

Releases | July 17, 2008 | ...

Dear Spring community,
We are pleased to announce that Spring Batch 1.1.0.RELEASE has been released!

Downloads | Web Site | Changelog | Announcement

The main change from 1.0 is the addition of shared persistent state between steps in a job (the JobExecution has its own ExecutionContext). This means there is a schema change in the meta-data tables, so any existing 1.0 jobs running in parallel with the new version will have to use a different database schema. There is an upgrade script for users who want to migrate all there 1.0 data and processes to 1.1.

There is also now no need to configure transaction management for the JobRepository, as long as you are using the FactoryBean.

Running a Spring Batch Job in The SpringSource Application Platform

Engineering | May 30, 2008 | ...

In this article I will show you how to run a Spring Batch job in the SpringSource Application Platform. I ran an early version of this up as a little demo for JavaOne, and then again at the London Spring User Group, and thought it might be a good thing to share. The sample code is here.

The Bundles

First we'll do a quick tour of the bundles in the sample code. Start the server now, or at any point after you have installed some bundles.

Bundle: hsql-server

This one is useful to have around for development and testing. All it does is launch an instance of HSQLDB in server mode, so that you can connect to it and inspect the database using SQL statements. You can just drag and drop it into the Platform Server instance in the Servers View. Do this first, because the Platform remembers the order in which bundles were installed, and starts them in that order. This one has to be started first because other bundles will try to connect to the database server.

The bundle configuration is in META-INF/spring/module-context.xml (this is conventional for Platform bundles) - Spring DM picks up all XML files from META-INF/spring. This one just uses Spring to configure and launch an instance of the HSQL Server.

There is an integration test that can be used to check the…

Spring Batch 1.0.0.FINAL Released

Releases | April 01, 2008 | ...

Dear Spring community,
We are pleased to announce that Spring Batch 1.0.0.FINAL has been released!

Downloads | Site | Changelog | Announcement

There are no significant high-level changes since rc1, except some updates to the reference documentation. The main functional changes were that retry and skip can now be used in the same step, and there are some extra configuration options for fatal exceptions in the step factory beans.

Spring Batch 1.0.0.m5 Released

Releases | March 04, 2008 | ...

Spring Batch 1.0.0.m5 is available today via the s3 Milestone repository (browse at http://s3browse.com/explore/maven.springframework.org/milestone/org/springframework/batch). For more information, please see the Spring Batch downloads page at http://static.springframework.org/spring-batch.

The main change in m5 from the user's point of view is the configuration of jobs, steps and the launcher environment through various factory beans. Several key user concerns have been addressed by the new BatchListener group of interfaces. There are also some changes to key interfaces in the API, like ItemReader and ItemWriter, which have allowed us to separate concerns better between the user and the framework. There is a section on the website describing in detail how to migrate from 1.0.0.m4 to 1.0.0.m5 (http://static.springframework.org/spring-batch/migration/1.0-m4-m5.html).

We are very pleased with the progress we made on Spring Batch since the last milestone, and it now feels finally as if everything is almost in place for a final release. As planned, we now just have time for an rc1 release, with some contingency for rc2 if necessary, before the expected March 20 final release.

Spring Batch 1.0.0.m4 Released

Releases | February 07, 2008 | ...

Spring Batch 1.0.0.m4 is available today via the s3 Milestone repository (browse at http://s3browse.com/explore/maven.springframework.org/milestone/org/springframework/batch).  See the Spring Batch downloads page for more information (http://static.springframework.org/spring-batch).

 

We have re-jigged the release schedule to squeeze in an additional milestone, to which Ben and Lucas are dedicated, so 1.0.0.m5 will be out in the next 10-14 days. Then we just have time for an rc1, with some contingency for rc2 if necessary, before the expected March 20 final release. 

Spring Batch Recent Changes and Upcoming m4 Release

Engineering | February 04, 2008 | ...

We've been working really hard on Spring Batch getting ready for the Spring Portfolio 2.5 release train, and I thought it would be a good time to update everyone on what is happening. In this article I'm going to expand a bit on the domain modelling, and our decision to raise the profile of some of the core domain objects, and increase their responsibilities. I will also give a few tastes of what is coming in the next couple of releases leading up to 1.0, so people have a chance to comment if they want to.

By way of an apology: there have been some quite significant changes in the internals…

Spring Dynamic Language Support and a Groovy DSL

Engineering | November 29, 2007 | ...

Since the introduction of Spring dynamic laguage support in Spring 2.0 it has been an attractive integration point for Groovy, and Groovy provides a rich environment for defining Domain Specific Languages (DSL). But the examples of Groovy integration in the Spring reference manual are limited in scope and do not show the features in Spring that are targeted at DSL integration. In this article I show how to use those features and as an example we add bean definitions to an existing ApplicationContext with a Groovy DSL from the Grails distribution.

Groovy Beans

The basic features of Spring dynamic language integration are exposed in the "lang" namespace in XML. The most straightforward thing you can do is to defined a Spring component as a Groovy bean, in a separate file or inline in the XML. This feature is covered in the Spring reference guide (http://static.springframework.org/spring/docs/2.5.x/reference/index.html

Spring Batch 1.0 M2 Released

Releases | September 27, 2007 | ...

We are pleased to announce that Spring Batch 1.0 M2 has been released! This milestone release introduces:

  • A set of Core APIs that can be used for configuring and building batch applications.
  • An execution environment and utilities for managing and monitoring multi-step jobs in a single virtual machine.
  • Packaging the framework into three pieces: infrastructure, core and execution.
More details on the features of this release and plans for the future can be found on the website (http://static.springframework.org/spring-batch, http://static.springframework.org/spring-batch/features.html).

We expect at…

Grails and Maven: a Marriage of Inconvenience

Engineering | July 14, 2007 | ...

Introduction

Grails seems to be going from strength to strength, and it looks like it definitely "has legs", as they say. I am quite interested in stretching those legs a little outside the web application arena. If you are aware of my work on Spring Batch, you will probably be able to guess where that might take me. But for this article I wanted to just share some experiences I've had with the basic, low-level deployment and build of a Grails application.

I have a love/hate relationship with Maven 2, and I am learning to love Grails, but sadly the two do not play particularly well together. It would…

Spring Batch

Engineering | May 07, 2007 | ...

Introduction

I've been working hard with a couple of clients on a new product called Spring Batch. The aim is to provide tools and applications to support bulk processing in an enterprise environment. Spring Batch is part of the Spring Portfolio with an initial release in the Spring 2.1 release train.

The original impetus to build some prototype code actually came independently from a number of Interface21 clients. This provides some useful additional detail and some constraints on the implementation so that it can be applied to the real-world problems posed by the clients. I hope that this article…

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