Spring Security Java Configuration 1.0.0.M1 Released

Releases | Rob Winch | July 01, 2013 | ...

I'm pleased to announce the release of Spring Security Java Configuration as a stand alone module. The milestone is compatible with Spring 3.2.3.RELEASE+ and Spring Security 3.1.4.RELEASE.

This code has been merged into Spring Security 3.2.0.M2 release and will be maintained within the Spring Security code base going forward. We hope that by making the release available for stable versions of Spring and Spring Security it will encourage you to try it sooner and provide us feedback before the final release.

Stay tuned to the SpringSource blog for an article that walks you through how to use Spring Security Java Configuration. In the mean time, you can find out how to obtain spring-security-javaconfig, documentation, and samples at http://github.com/SpringSource/spring-security-javaconfig

Spring Security 3.2.0.M2 Released

Releases | Rob Winch | July 01, 2013 | ...

The second milestone release toward Spring Security 3.2 is now available from the SpringSource repository at http://repo.springsource.org. See here for a quick tutorial on resolving these artifacts via Maven.

I'd like to extend a special thanks to all those that contributed to this release by submitting bugs, pull requests, and feedback.

The highlights of this release include:

  • Spring Security Java Configuration Support
  • SEC-2111 resolves an issue with Async support when a timeout occurs and the same Thread handles both the original request and the timeout.
  • Added support for configuring the remember me parameter via the XML namespace. Special thanks to Oliver Becker for submitting a pull request for this feature!
  • SEC-2002 Added SessionFixationProtectionEvent. Special thanks to Nick Williams for submitting a pull request for this feature!
  • Improvements to the Embedded LDAP container
Stay tuned to the SpringSource Blog over the coming week for more information about Spring Security Java Configuration.

Changelog | Download | Reference Manual | FAQ

Webinar: Introducing Reactor - A framework for asynchronous applications on the JVM

News | Pieter Humphrey | June 26, 2013 | ...

The sheer volume of non-human-generated data in modern applications can easily overtake a traditional single-threaded, blocking design model. Reactor aims to address this volume, by providing a foundational framework for JVM applications -- applications that need high throughput when performing reasonably small chunks of stateless, asynchronous processing. Join Jon Brisbin as he discusses the motivations behind the project, the design patterns and existing technology that inspired the project, and how it fits in the asynchronous ecosystem today, as a teaser to his upcoming session at SpringOne 2GX 2013.

About the speaker

Chris Harris

Jon Brisbin

Jon works with the Spring Data, Grails, RabbitMQ, and other teams to provide next-generation data and messaging capabilities for modern Ajax and mobile applications. He's been working with Spring Data to provide mapping capabilities for NoSQL databases like MongoDB and Riak and he's working with RabbitMQ and NoSQL to provide modern evented and message-driven data utilities. He authored the Grails support for Riak as well as contributes Erlang-based utilities for the Riak and RabbitMQ communities. Prior to SpringSource, Jon developed private cloud architectures at the world's largest Pizza Hut franchisee, developed Lotus Domino, J2EE, PHP and even Perl CGI applications in BBEdit on an aged Mac, and got his start in web-based development 15 years ago, as an intelligence analyst for the US Air Force, when NCSA Mosaic 1.0 was cool

More About Jon »

This Week in Spring - June 25, 2013

Engineering | Josh Long | June 25, 2013 | ...

Welcome back to another installment of This Week in Spring. As usual, we've got a lot to cover. In particular, you'll note that this week's roundup features a lot of great Spring Batch content. So, let's get to it -- and don't forget the SpringOne2GX early bird rate ends Aug 9th!

  1. I did a webinar introducing how to build REST APIs with Spring's rich REST stack a few weeks ago, and I'm happy to report that the talk - which introduces Spring MVC, Spring HATEOAS, Spring REST Shell, Spring Data REST, Spring Security OAuth and Spring Social in terms of a simple sample application that we refine - is now available on the SpringSourceDev YouTube Channel. As I mentioned last week, the slides are available on my SlideShare.net page and the code is available on my GitHub page. Enjoy, and don't hesitate to feedback/ask questions at josh(dot)long(at)SpringSource(dot)com!
  2. InfoQ has a great post introducing JSR 352, the Java Batch specification. If you're a Spring Batch user, then a lot of this will look very familiar! I think this is a particularly nice JSR, and encourage you to check it out. Spring
  3. Chris Schaefer has put together a brilliant Spring Batch refcard for DZone which went up yesterday, head over to DZone for the free download.
  4. Craig Walls has announced that Spring Social Facebook 1.0.3 is now available. The new release addresses breaking changes in the upcoming Facebook API revision.
  5. Gary Russell has announced that Spring AMQP 1.2.0 release candidate is now available. The new release features many improvements and bug fixes.
  6. Johnathan Mark Smith is back at it again, with a blog on RESTTemplate To Post Data to a Web Service. Nice work Jonathan!
  7. This week SpringSource is offering a four-day Groovy & Grails class in San Francisco, check it out here
  8. Our pal Tobias Flohre is back with the 4th installment of his series introducing Java configuration with Spring Batch.
  9. Leleu Jérôme has released a Spring Security Pac4J client. It has OAuth with providers, OpenID, CAS, and HTTP.
  10. Are you a Spring Champion? Enter to win a free SpringOne2GX 2013 pass!
  11. Vamsi Kancharla put together a nice sample project with Spring MVC, bean-validation, error handling (using @ControllerAdvice), protection against XSS and input form attacks, and a lot more. Check it out!
  12. Kim Saabye Pedersen put together a nice post reinforcing some useful (and hopefully well-understood!) principles of singletons in Spring.
  13. Hantsy Bai has put together a very nice post explaining how to create a Spring project from the Spring Tool Suite.

Webinar Replay: Building REST-ful services with Spring

News | Pieter Humphrey | June 25, 2013 | ...

Today's applications don't exist in isolation. REST applications and web services are a great way to connect applications together. REST is a design principle that imposes no constraints on the client except basic HTTP support, which all platforms provide. Designing REST services, however, is still as much art as it is science, as standards are emerging. Join Spring Developer Advocate Josh Long as he introduces some of the ins-and-outs of REST API design with Spring, building on Spring MVC, Spring HATEOAS and answers some commonly- asked questions like how to secure REST-ful services, and how…

Spring Social Facebook 1.0.3 Released

Releases | Craig Walls | June 19, 2013 | ...

Dear Spring Community,

I'm happy to announce the release of Spring Social Facebook 1.0.3.RELEASE.

Spring Social is an extension of the Spring Framework that enables you to connect your Java applications to Software-as-a-Service (SaaS) providers such as Facebook and Twitter.

Spring Social Facebook 1.0.3.RELEASE is made available to address breaking changes forthcoming in Facebook's Graph API to be applied on July 10, 2013. Specifically, the following breaking changes have been addressed:

  • The removal of the 'count' property in a list of comments.
  • Deprecation of checkins via the /checkins resource. All checkins should be done as posts with a location now.
  • Removal of the 'version' property for groups.
  • The Graph API no longer returns images for photos with sizes larger than the original image size.

In addition, a handful of small improvements were made to Spring Social Facebook's API binding. See the changelog for details.

To get the software, download the release distribution or change the Spring Social Facebook dependency in your build file to reference 1.0.3.RELEASE.

Important: This release includes changes to enable Spring Social Facebook to work after the July 2013 Breaking Changes. In order for this version of Spring Social Facebook to work prior to July 10, 2013, you'll need to configure your application at Facebook to enable the July 2013 Breaking Changes. Within Facebook's application configuration, go to "Settings->Advanced" and click the "Enabled" radio button next to "July 2013 Breaking Changes".

We invite you to discuss this release as well as the continuing work toward Spring Social 1.1.0 in the Spring Social Forum and to report any bugs or improvements in the Spring Social Facebook issue tracker.

This Week in Spring - June 18, 2013

Engineering | Josh Long | June 18, 2013 | ...

Welcome back to another installation of This Week in Spring! What a week! We're fast approaching the final stretch of the journey to SpringOne2GX 2013 and preparations are underway at full tilt. This year's going to be memorable. I wish I could tell you more, but trust me when I say you need to be at this show this year! :)

Anyway, let's get on with the roundup!

  1. Mark Pollack has announced the release of Spring XD 1.0 milestone 1. Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export. The project’s goal is to simplify the development of big data applications.
  2. Join Tony Erksine from Liberty University on June 27th as he instructs us How to talk Spring and Influence People, a pragmatic lesson on soft skills and technology adoption strategies needed to help get other people in your company excited about and using, new technology -- in this case, with Spring.
  3. Want a pass to SpringOne 2GX 2013? If you're a Spring champion, show off your stuff on our champions forum and follow these instructions by June 21, 2013. You might be one of our 5 lucky winners! (If you're a Groovy & Grails or Cloud Foundry champion, never fear, we will be rolling out future contests for you!)
  4. Head over to gopivotal.com for the next blog in the Hadoop 101 series -- How to Use Spring Batch with Spring for Apache Hadoop.
  5. We're excited to launch A Week of Spring in conjunction with Manning Publications. Check out this post for more information on great discounts for titles covering SpringSource technologies! Every day we're posting a new 50% discount code for two books.
  6. Our pal Tobias Fiohre is back at it again, this time with not one, not two, but three posts on Java configuration support for Spring Batch, just released in the latest Spring Batch 2.2.0.RELEASE of Spring Batch. The first post looks at how Spring Batch's Java configuration support compares with the XML equivalents. The second post looks at the Spring Batch StepScope, which lets you configure jobs with parameters provided at runtime (as opposed to design-time. The third post looks at how to use the new configuration style with Spring's environment profiles feature.
  7. Johnathan Mark Smith has put together a post on how use Spring MVC and Spring MVC Test
  8. Xavier Padró's has put together a nice post that introduces Spring's core Aspect-Oriented Programming support.
  9. The video replay of the webinar from the Broadleaf Commerce project on their migration from GWT to Spring MVC is now online at our SpringSourceDev YouTube channel.
  10. This isn't strictly Spring-related, but I felt it worth mentioning: Java 9 is slated to drop support for compiling Java 1.4-or-older source code. Java 8 is approaching (finally!), and Spring 4 will offer first class support for Java 8 lambas. Java 6 is EOL as of February 2013, so if you're not already on Java 7, consider just making the jump to Java 8 when it drops early next year. If you're migrating right now, definitely consider looking at Java 7 at a minimum. Spring, of course, works well with older JDK versions, but we often provide functionality specific to newer language releases if they're available. For example, we debuted annotations (like @Transactional) when Java 5 made it feasible, as an addition to our then primary support for commons annotations, even while we supported Java 1.3 and 1.4. Java 8 is no different.
  11. I did a webinar last week on building REST APIs with Spring. The webinar video will be up soon on our SpringSource Developer YouTube channel. For the many who've asked, the code is available on my GitHub account, and the slides are available on my SlideShare account. Check them out!
  12. Petri Kainulainen has put together a really detailed, easily-read post on how to plugin a property from a property file when configuring the @Scheduled annotation's CRON expression

Spring XD 1.0 Milestone 1 Released

Engineering | Mark Pollack | June 12, 2013 | ...

Today we are pleased to announce the 1.0 M1 release of Spring XD  (download).Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export.  The project’s goal is to simplify the development of big data applications.

From the 10,000 foot view, big data applications share many characteristics with Enterprise Integration and Batch applications.  Spring has provided proven solutions for building integration and batch applications for more than 6 years now via the Spring Integration and Spring Batch projects.  Spring XD builds upon this foundation and provides a lightweight runtime environment that is easily configured and assembled via a simple DSL.

In this blog we will introduce the key components of Spring XD, namely Streams, Jobs, Taps, Analytics and the DSL used to declare them, as well as the runtime architecture.  Many more details can be found in the XD Guide.


A Stream defines how data is collected, processed and stored or forwarded.  For example, a stream may collect syslog data, filter it, and store it in HDFS.  Spring XD provides a DSL to define a stream.  The DSL allows you to start simple using a UNIX pipes-and-filters syntax to build a linear processing flow but lets you also describe more complex flows using an extended syntax.

Sources and Sinks

A simple linear stream consists of the sequence: Input Source, (optional) Processing Steps, and an Output Sink.  As a simple example consider the collection of data from a HTTP Source writing to a File Sink. The DSL to describe this stream is
http | file

You tell Spring XD to create a stream by making a HTTP request to the XD Admin Server which runs on port 8080 by default.  In the M2 release we will provide an interactive shell to communicate with XD, but for M1 the easiest way is to interact with XD is using ‘curl’.

curl -d "http | file" http://localhost:8080/streams/httptest

The name of the stream is httptest, the default HTTP port to listen on is 9000, and the default file location is /tmp/xd/output/${streamname}.

If you post some data on port 9000 with curl
curl -d "hello world" http://localhost:9000

You will see the string hello world inside the file /tmp/xd/output/httptest

To change the default values, you can pass in option arguments

http --port=9090 | file --dir=/var/streams --name=data.txt

The supported sources in M1 are file, time, HTTP, Tail, Twitter Search, Gemfire (Continuous Queries), Gemfire (Cache Event), Syslog and TCP.  The supported sinks are Log, File, HDFS…

Spring XD 1.0.0.M1 released

Releases | Gunnar Hillert | June 12, 2013 | ...

Dear Spring Community,

The Spring XD team is pleased to announce that the first milestone of Spring XD is now available for download.

Spring XD makes it easy to solve common big data problems such as data ingestion and export, real-time analytics, and batch workflow orchestration. The first milestone implements many features and provides a sizable amount of documentation.

For more information, please see the Project Home Page, the Release Notes and the the blog posting.

We would love to hear your feedback as we continue working hard towards the final Spring XD 1.0.0 release. If you have any questions, please use Stackoverflow (Tag: springxd), and to report any bugs or improvements, please use either the Jira Issue Tracker or file a GitHub issue.

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Spring Runtime 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