Spring Boot 0.5.0.M5 Released
- Autoconfigure support for JMS, AMQP, AOP, Mobile, MongoDB
@Grabusage (see example below)
- A test command for Groovy scripts (supporting JUnit and Spock, more detail coming on that in a blog from Greg)
- A new
SpringApplicationBuilderwith support for, amongst other things, application context hierarchies
- A new
PropertiesLauncherthat can launch a Java application from properties discovered at runtime (e.g. to set up a classpath from a lib directory)
Spring Batch 2.1.9.RELEASE is available
spring #batch 2.1.9.RELEASE is available (download github http://bit.ly/NYXItL or Maven central). Thanks to all contributors!
It's mostly bugfixes for 2.1.8, plus a few interesting additions (e.g. nested tasklets from any namespace to support Spring Hadoop): http://static.springsource.org/sprin...1.8-2.1.9.html.
The first real commit for 2.2 came in as a pull request. Nice work! Please keep them coming.
Spring Security OAuth 1.0.0.RC2 released
spring #security #oauth 1.0.0.RC2 is released today http://bit.ly/xfE5PM. Download via github or Maven (SpringSource milestone repository).
- Better error responses from the framework endpoints
- Fixed some issues with validation and enhancement of token contents
Cross Site Request Forgery and OAuth2
In this short article we look at Cross Site Request Forgery in the context of OAuth2, looking at possible attacks and how they can be countered when OAuth2 is being used to protect web resources.
OAuth2 is a protocol enabling a Client application, often a web application, to act on behalf of a User, but with the User’s permission. The actions a Client is allowed to perform are carried out on a Resource Server (another web application or web service), and the User approves the actions by telling an Authorization Server that he trusts the Client to do what it is asking. Common examples of Authorization Servers on the internet are Facebook and Google, both of which also provide Resource Servers (the Graph API in the case of Facebook and the Google APIs in the case of Google).
Social Coding: Pull Requests - What to Do When Things Get Complicated
Scenario: you want to contribute some code to an open source project hosted on a public git repository service like github. Lots of people make pull requests to projects I'm involved in and many times they are more complicated to merge than they need to be, which slows down the process a bit. The basic workflow is conceptually simple:
- fork a public open source project
- make some changes to it locally and push them up to your own remote fork
- ask the project lead to merge your changes with the main codebase
Git and Social Coding: How to Merge Without Fear
Git is great for social coding and community contributions to open source projects: contributors can try out the code easily, and there can be hordes of people all forking and experimenting with it but without endangering existing users. This article presents some examples with the Git command line that might help build your confidence with this process: how to fetch, pull and merge, and how to back out of mistakes. If you are interested in the social coding process itself, and how to contribute to Spring projects, check out another blog on this site by Keith Donald.
Uploading Job Configurations to Spring Batch Admin
An interesting problem that has no universal good solution is: how do I change the configuration of a running Spring application? Spring Batch Admin 1.0.0.M3 was released recently, and it has a configuration upload feature that solves this problem in a particular way. Someone asked for this feature at the recent S2GForum in Munich (if you missed that sign up for events in London and Amsterdam in May), and I was happy to tell him that it already existed, so maybe it deserves a bit more air time...
Practical Use of Spring Batch and Spring Integration
There are some common concerns of users of Spring Batch and Spring Integration, and we get asked a lot about how they fit together. Spring Batch Admin 1.0.0.M2 was released recently, and it makes heavy use of Spring Integration, so it is a good vehicle for looking at some specific use cases, and that is what we plan to do in this article.
Part of the 1.0.0.M2 release was the Spring Batch Integration module, recently migrated from Spring Batch and given a new home with Batch Admin. Many of the Batch-Integration cross over use cases are either implemented or demonstrated in Spring Batch Integration. The reason for the new home is that Batch Admin uses a lot of the features of Batch Integration, and so aligning the release cycle of those projects makes more sense.
Logging Dependencies in Spring
This article deals with the choices that Spring makes and the options that developers have for logging in applications built with Spring. This is timed to coincide with the imminent release of Spring 3.0 not because we have changed anything much (although we are being more careful with dependency metadata now), but so that you can make an informed decision about how to implement and configure logging in your application. First we look briefly at what the mandatory dependencies are in Spring, and then go on to discuss in more detail how to set your application up to use some examples of common logging libraries. As an example I'll show the dependency configuration using Maven Central style artifact naming conventions.
Introducing Spring Batch Admin
Spring Batch Admin provides a web-based user interface that features an admin console for Spring Batch applications and systems. It is a new open-source project from SpringSource. A milestone release 1.0.0.M1 will be available soon with all the features below, and we hope to get to a 1.0.0 final release early in 2010.
The easiest way to get a quick overview of Spring Batch Admin is to see some screenshots of the main use cases. The user interface is a web application (built with Spring MVC).