Spring Batch 3.0.0.RC1 is now available

Releases | Michael Minella | May 13, 2014 | ...

Today we are pleased to announce the release candidate for Spring Batch 3.0. This release of Spring Batch provides the support for JSR-352 we are committed to providing as well as a number of new features for our existing Spring Batch community.

Features in Release Candidate 1

The major features for this release include:

  • JSR-352 support
  • Promotion of Spring Batch Integration into Spring Batch
  • Complete overhaul of dependencies
  • Support for SQLite
  • Job scope
  • Switch from Maven to Gradle for building Spring Batch

JSR-352 Support

JSR-352 is the batch JSR and was released as 1.0 late last year. As Spring Batch served as the inspiration for much of the programming model of this JSR, Spring is committed to supporting it. With the 3.0 release, Spring Batch is compliant with JSR-352 passing all TCK tests. It provides the most production-tested implementation of the JSR.

Creating batch jobs that comply with the standards of this JSR should feel very familiar to users of Spring Batch. The XML configuration and interfaces are very similar to the existing Spring Batch. Below is an example JSR-352 batch job

```xml ```

Spring Batch's implementation of JSR-352 was developed to allow the most flexibility for existing Spring Batch users. We allow developers to use existing ItemReader, ItemProcessor, ItemWriters, etc in conjunction with the configuration facilities that JSR-352 provides. This provides developers a complete library of production-tested components for building robust batch jobs.

To read more about Spring Batch's implementation of JSR-352, visit our reference documentation here: http://docs.spring.io/spring-batch/trunk/reference/html/jsr-352.html

Promote Spring Batch Integration to Spring Batch

The line between when to use Spring Batch or Spring Integration is often a blurry one. There are many use cases where one works better than the other. However, there are also many use cases where they can be used together to build robust and scalable data processing systems. Spring Batch Integration provides a collection of components to use Spring Batch and Spring Integration together. Use cases that Spring Batch Integration provide for include:

  • Asynchronous item processing
  • Remote chunking
  • Launching batch jobs via messages
  • Remote partitioning

These capabilities take batch processing beyond what JSR-352 provides and allows users to develop batch applications that scale beyond a single JVM. You can read more about Spring Batch Integration and it's components in the reference documentation here: http://docs.spring.io/spring-batch/trunk/reference/html/springBatchIntegration.html.

Complete overhaul of dependencies

We took this opportunity to review all third party dependencies for Spring Batch and bring them up to date. As part of this exercise, we also brought them in alignment with the other projects in the Spring portfolio to allow for the easiest experience in adding Spring Batch to an existing application (or adding other projects to a Spring Batch project).

Support for SQLite

While HSQLDB is useful for many testing scenarios, a file based system like SQLite can also be very useful. With the 3.0 release we have added the job repository DDL for SQLite to address these use cases.

Job scope

Spring Batch's step scope allows developers to delay the creation of objects until a particular step is executed. This functionality has also exposed the ability to provide late binding of properties in batch artifacts. With this 3.0 release, Spring Batch introduces a Job scope. This scope works in the same way as the step scope (delays the creation of objects via proxies), however it delays the creation until the job executes instead of the step. This can be helpful when defining multiple jobs in a context or when heavy weight initialization processes occur in step level components. You can read more about the job scope in the reference manual here: http://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#job-scope.

Move from Maven to Gradle

Finally, this release is the first for Spring Batch to move from Maven to Gradle for an internal build system. This change will have zero effect on developers consuming the jars. They will still be available via Maven Central for maven users.

Conclusion

3.0.0.RC1 represents the completion of the next major milestone for Spring Batch. It brings the standards that JSR-352 provides to our community as well as providing an exhaustive collection of additional features for the advanced user. We look forward to your feedback in the forums, social media, and in person at SpringOne2GX!

SpringOne2GX 2013 Replay: Getting Started with Spring Security 3.2

News | Pieter Humphrey | May 12, 2014 | ...

Recorded at SpringOne2GX 2013 in Santa Clara, CA.

Speaker: Rob Winch Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can be extended to meet custom requirements. In this presentation Rob will incrementally apply the new features found in Spring Security 3.2 to an existing application to demonstrate how it can meet your authentication and authorization needs.

Learn more about Spring Security 3.2 at http://projects.spring.io/spring-security/

Learn more about using Spring at: http://www.spring.io

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

SpringOne2GX 2013 Replay: spring.io inside and out

News | Pieter Humphrey | May 12, 2014 | ...

Recorded at SpringOne2GX 2013 in Santa Clara, CA.

Join Chris Beams as he dives into http://spring.io - the new spring website. It's chock full of amazing new resources that you can share with your co-workers who might be new to Spring, or simply helping to introduce Spring to those who might not be familiar with it - people coding in other languages, frameworks, or platforms. You've asked us to help make it easier to win the comparisons, and we've listened. Attend this session to get the ammo you need to win that internal bake off, and learn the details about how the site was built and deployed. now and open source project!

Learn more about the open source spring.io website at our blog:

http://spring.io/blog/2014/03/27/project-sagan-open-sourcing-spring-io

http://spring.io/blog/2014/04/04/project-sagan-zero-downtime-deployments

http://spring.io/blog/2014/04/28/project-sagan-client-side-architecture

http://spring.io/blog/2014/04/18/project-sagan-upgrading-to-jdk-8

 

Learn more about Spring Framework 4.0 http://projects.spring.io/spring-framework

Learn more about Spring Boot http://projects.spring.io/spring-boot

Learn more about using CloudFoundry at: http://cloudfoundry.org/

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

Spring Integration Java DSL Milestone 1 Released

Releases | Artem Bilan | May 08, 2014 | ...

The Spring Integration development team is pleased to announce the release of the First Milestone of the Java DSL extension for Spring Integration!

The general purpose of the Java DSL is to provide a fluent and convenient API for Message Flows based on EIP and avoid boilerplate Spring Integration configuration.

The org.springframework.integration:spring-integration-java-dsl:1.0.0.M1 artifact is available from the Spring IO Milestone Repository.

You can find in more information in the Reference Manual and from source code, however let us shed some light on the main features.

The Concept

The Spring Integration Java DSL is not similar to existing Scala and Groovy DSls; nor is it similar to the Apache Camel Java DSL, although it does implement the method-chain

Webinar Replay: Web Application diagnostics with Java and JavaScript

News | Pieter Humphrey | May 08, 2014 | ...

Speakers: Ashley Puls, New Relic Josh Long, Pivotal

There is more and more usage of JavaScript on the client side today. Many are starting down the difficult path of full blown application development in JS on the client side, going beyond having a simple rollover menu logic or presentation component. But tracking and tracing effectively means looking at the whole application, not just the front end. New Relic can be used either in development or production to diagnose hybrid JavaScript/Java applications. In this session, Josh Long (Pivotal) and Ashley Puls (New Relic) will show how you can track and trace your way through today's hybrid JavaScript+Java web apps - resolving slow page loads, blocked threads, slow queries, etc.

Learn more about using New Relic at: http://www.newrelic.com

Learn more about using Spring at: http://www.spring.io

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

Groovy 2.3 Released

Releases | Guillaume Laforge | May 07, 2014 | ...

The Groovy development team is pleased to announce the release of Groovy 2.3.0!

Groovy 2.3 is the new major release of the Groovy programming language for the JVM, featuring:

  • official support for running Groovy on JDK 8
  • a new trait keyword to define new units of code for composing behaviors
  • new and improved compile-time code transformations like:
    • @TailRecursive: for transforming methods with tail recursion to avoid blowing the stack,
    • @Builder: to easily implement fluent builders, generated by the Groovy compiler itself
    • @Sortable: to transform a class to implement Comparable using the various properties of the class
  • a new NIO2 module with Path support
  • lightening fast JSON parsing and building as covered in the recent article on InfoQ
  • closure parameter type inference

Preview Spring Security Test: Method Security

Engineering | Rob Winch | May 07, 2014 | ...

[callout title=Updated March 31 2015]This blog is outdated and no longer maintained. Please refer to the Test Section of the reference documentation for updated documentation. [/callout]

On Monday I announced the release of Spring Security 4.0.0.M1. This is the first of a three part blog series introducing the Spring Security Testing support. The series outline can be seen below:

Reactor 1.1.0.RELEASE now available

Releases | Jon Brisbin | May 06, 2014 | ...

The Reactor team is pleased to announce that some significant updates to the Reactor framework are now available in the 1.1.0.RELEASE version of Reactor's flexible, asynchronous, fast data framework. This version includes numerous bug fixes and rewrites of key components to make them faster and, maybe more importantly, more efficient in terms of memory usage. Reactor 1.1 now includes the fantastic gs-collections library from Goldman Sachs [1] which provides a very fluent API for dealing with maps and collections of all kinds.

Here is a non-exhaustive list of changes between Reactor 1.0 and 1.…

Spring Tool Suite and Groovy/Grails Tool Suite 3.5.1 released

Engineering | Martin Lippert | May 06, 2014 | ...

Dear Spring Community,

we are happy to announce a minor maintenance release of our Eclipse-based tooling today: The Spring Tool Suite (STS) 3.5.1 and the Groovy/Grails Tool Suite (GGTS) 3.5.1.

This maintenance release includes a number of bug fixes as well as a few updates, including:

  • added Java8 support for faceted web projects
  • updated Maven Integration for Eclipse to support Java8
  • m2e-egit connector now included by default
  • Grails updated to 2.3.8
  • the Groovy 2.3 compiler now availabe from the dashboard (including early support for Grails 2.4M2 in GGTS)

Both tool suites ship on top of the latest Eclipse Kepler SR2 release.

To download the distributions, please go visit:

Detailed new and noteworthy notes can be found here: STS/GGTS 3.5.1 New & Noteworthy.

The next version 3.6.0 is scheduled to arrive in July 2014, shortly after the Eclipse Luna (4.4) release. The first milestone build is scheduled to arrive in late May 2014.

Enjoy!

SpringOne2GX 2013 Replay: Building Spring Applications on Cloud Foundry

News | Pieter Humphrey | May 06, 2014 | ...

Building Spring Applications on Cloud Foundry

Recorded at SpringOne2GX 2013 in Santa Clara, CA.

Speaker: Josh Long and Andy Piper

Let's face it, the cloud is here to stay. The cloud's potential can seem sometimes overwhelming, but it doesn't have to if you use Spring. Spring - and the various Spring projects - already embrace the architecture characteristics that make for great, cloud-centric applications in any environment. While Spring works well on any cloud platform, it enjoys a special place in the sun on Cloud Foundry, the open source PaaS from Pivotal. In this talk, join Andy Piper as he introduces how to build Spring applications that work well in the cloud and on Cloud Foundry in particular. We'll cover how to consume services with Spring on Cloud Foundry, how to scale out using RabbitMQ and Spring Integration, how to use standalone processes and RabbitMQ for better batch processing, and discuss strategies for exposing and consuming services in a RESTful service-based cloud architecture. Learn more about spring and Cloud Foundy at http://docs.cloudfoundry.com/docs/using/deploying-apps/jvm/index.html

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

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