Spring Session 1.3.0 RC1 Released

On behalf of the community, I’m pleased to announce the release of Spring Session 1.3.0.RC1. This release release closes lots of community submitted Pull Requests. For a complete list of changes see the changelog.

What’s New in Spring Session 1.3.0 RC1

Highlights include:


Without the community we couldn’t be the successful project we are today. I’d like to thank everyone that created issues & provided feedback.

Read more

Spring Cloud Task 1.1.0.RELEASE is now available

We are pleased to announce that Spring Cloud Task 1.1.0.RELEASE is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

Spring Cloud Task 1.1.0 offers the following features:

This is the generally available release (GA) for 1.1.0. This release addresses key enhancements to the project to allow for better coverage of operational concerns for tasks in a cloud environment. Features new to the 1.1.0 line include:

  • Updated error handling - 1.0.x stored stack traces that were the result of task executions within the TaskExecution#exitMessage field, requiring that this field perform double duty. First it was available for orchestration of tasks (similar to StepExecution#exitStatus in Spring Batch) as well as the storage of stack traces for debugging. In the 1.1.0 release, error messages have been moved to a new field TaskExecution#errorMessage so that each field has it’s own, dedicated use.

  • Updated customization options for partitioned batch jobs - In the 1.0.x line for Spring Cloud Task, when launching workers as tasks, there was not a way to customize the command line arguments provided to them. This is an issue in environments like CloudFoundry where you can use command line args to customize configuration without the need to re-push your app. In the new 1.1.0 release, we provide the ability to customize command line arguments via the CommandLineArgsProvider which is similar in functionality to the EnvironmentVariablesProvider introduced in 1.0.2.

  • External execution id persistence - When running a task in a cloud environment, there is typically a separate id associated with the infrastructure for the task’s execution. The id that YARN uses in the history server or the task id used by CloudFoundry are examples of these ids. Spring Cloud Task 1.1.0 now provides the ability to persist this external execution id for the ability to map one to the other.

  • Record the request of a task execution - When launching tasks on some form of infrastructure like Kubernetes or CloudFoundry, there can be a lag between the time the task execution is requested vs when it actually starts. Compounding this issue is the fact that if there is a problem with the platform, the task may not get launched at all. If this does occur, you’ll still want a record of the request. Spring Cloud Task 1.1.0 introduces the ability to record that a task is expected to start prior to it’s execution actually beginning. Allowing the launcher to record this request and the task itself will update it’s status accordingly.

  • Additional database support for the task repository - 1.1.0 introduces a community contributed schema to support DB2 as a datastore for the task repository.

Read more

Spring Cloud Data Flow for Kubernetes 1.1 RC1 released

On behalf of the team, I am pleased to announce the release of the first release candidate of Spring Cloud Data Flow for Kubernetes 1.1.

Spring Cloud Data Flow for Kubernetes provides support for orchestrating long-running (streaming) and short-lived (task/batch) data microservices on Kubernetes.

The most significant change for this release can be found in the Spring Cloud Deployer for Kubernetes project. Thanks to community contributions from Donovan Muller and Rémon (Ray) Sinnema, we have added support for defining volumes and volume mounts for deployed apps. We support the volume types that have a model supported by the Fabric8 Kubernetes client’s kubernetes-model.

Read more

This Week in Spring - November 21st, 2016

Welcome to another installment of This Week in Spring! This week I’m.. home! It’s Thanksgiving this week here in the states, after all. I am sure that I speak for the entire Pivotal team when I say that we are grateful for you, the most wonderful community on the planet. Thanks so much, and if you’re celebrating Thanksgiving, then happy Thanksgiving to you! When you’re finished with your meal - barely able to keep an eye open - I hope you’ll find a comfy arm chair and take in some of the content in this week’s roundup.

Read more

The Joy of Mustache: Server Side Templates for the JVM

I don’t do much server-side templating, but when I do…​ well frankly, I tend to forget things. Every template language has its strengths and weaknesses, and they all have syntax to remember, and more frequently to forget. Recently I completed some work on the old Spring Petclinic, converting it to use Thymeleaf in the view layer, and re-organizing the code to be a bit more "modern". I enjoyed working with Thymeleaf 3, and found it a pleasant experience, but had to spend a lot of time scanning documentation and samples. Then I had another little project that needed some templates, and I remembered my fondness for Mustache, which we added to Spring Boot back in version 1.2, and which plays an important role in the excellent Spring REST Docs tool. I added spring-boot-starter-mustache to my new project, and was up and running within seconds.

Read more

SpringOne Platform 2016 Replay: Building applications with Angular JS and Spring Security

Recorded at SpringOne Platform 2016.
Speaker: Dr. David Syer

In this presentation we show some nice features of Spring Security, Spring Boot and Angular JS working together to provide a pleasant and secure user experience. Things to consider are cookies, headers, native clients, various security vulnerabilities and how modern browser technology can help us to avoid them. In this series we show how nicely features of the component frameworks can be integrated simply to provide a pleasant and secure user experience. We start with a very basic single-server implementation and scale it up in stages, splitting out backend resources and authentication to separate services.

Read more

SpringOne Platform 2016 Replay: To Spring Security 4.1 and Beyond

Recorded at SpringOne Platform 2016.
Speakers: Rob Winch, Joe Grandja

Exploits are continually evolving making security hard. This is compounded by the fact that the technologies we need to secure are a moving target.

In this talk we will discuss how to easily secure an application with Spring Security 4.1. We will focus on some of the new features found in Spring Security 4.1 and discuss the future direction of Spring Security.

Read more

This Week in Spring - November 15th, 2016

Welcome to another installment of This Week in Spring! Time sure is flying! We’ve got so much to get into this week. Can you believe we’re staring down 2017? We’ve got so much to cover so let’s get to it!

Read more