Welcome to another installment of This Week in Spring! This week, I'm in Barcelona, Spain for the Spring I/O conference.
(can you spot [your favorite Spring team](http://spring.io/team) or community member?)
Spring Social lead Craig Walls just announced the release of Spring Social Facebook 2.0.1, the first maintenance release in the Spring Social Facebook 2.0 line.
In this article we look at how to bind a Spring Boot application to data services (JDBC, NoSQL, messaging etc.) and the various sources of default and automatic behaviour in Cloud Foundry, providing some guidance about which ones to use and which ones will be active under what conditions. Spring Boot provides a lot of autoconfiguration and external binding features, some of which are relevant to Cloud Foundry, and many of which are not. Spring Cloud Connectors is a library that you can use in your application if you want to create your own components programmatically, but it doesn't do…
A friendly reminder, if you're in the south west region of Europe, and Barcelona, Spain, specifically, and looking for fun in the sun, I can think of no better option than Spring I/O Conference, which is next week. Don't miss the many great talks from many amazing Spring team and Spring community members. I'll be there and looking forward to meeting and seeing you all!
Application configuration is an evolution. It starts as a hard-coded strings in your application and hopefully progresses to something external, such as a file or system property that can be changed without deployment. But what happens when other enterprise concerns enter the mix, such as audit requirements or access control around who can make changes? How do you maintain the consistency of values across too many application servers to manage at one time from a terminal window? The next step in the application configuration evolution is centralized configuration that can be accessed by your applications as they move through your various environments on their way to production. Such a service transfers the ownership of configuration from the last developer who touched the code to a well-versed application owner who is responsible for the configuration of the application across all environments. At Dealer.com, we have created one such solution that relies on Apache ZooKeeper to handle the storage and coordination of the configuration data and Spring to handle to the retrieval, creation and registration of configured objects in each application. The end result is a transparent framework that provides the same configured objects that could have been created using a Spring configuration, configuration file and property value wiring. This talk will cover both the why and how of our solution, with a focus on how we leveraged the powerful attributes of both Apache ZooKeeper and Spring to rid our application of local configuration files and provide a consistent mechanism for application configuration in our enterprise.
Applications generated more and more data than ever before and a huge part of the challenge - before it can even be analyzed - is accommodating the load in the first place. Apache's Kafka meets this challenge. It was originally designed by LinkedIn and subsequently open-sourced in 2011. The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds. The design is heavily influenced by transaction logs. It is a messaging system, similar to traditional messaging systems like RabbitMQ, ActiveMQ, MQSeries, but it's ideal for log aggregation…
In a week and some change, I'll be in Barcelona, Spain, for Spring I/O. If you're in Spain, be sure not to miss this amazing event! I, along with many other members of the Spring team…
As of Spring Framework 4.0, Java 8 is supported as a first-class citizen and we've seen some confusion in the Spring community since then. How do we manage to support Java 8 and remain compatible with Java 6 and Java 7 after all? This blog post provides some insight into how we're handling this within the framework codebase.
Java 8 language features vs. Java 8 APIs
First, a distinction must be made between using new language features and new APIs in a given Java generation such as Java 8. If a class uses a Java 8 language feature such as a lambda expression, it has to be compiled with -source 1.8 -target 1.8 and therefore the whole compilation unit will only work on Java 8+. However, if a particular class in a library optionally uses a new Java 8 interface such as java.util.stream.Stream, the library can still run on a previous Java generation as long as it is being compiled with e.g. -source 1.6 -target 1.6 - and as long as the use of that particular …
Dave Syer's six-part blog series on Spring Security and AngularJS has been a smash hit! It has echoed across the twittersphere, torn up DZone, and drawn people far and wide.
Did you miss any of it? Perhaps you've heard of it and found it too difficult to track down the first post. No more.
Please navigate to our newly minted Spring Security and AngularJS tutorial and enjoy all that solid gold. We migrated 100% of it into that tutorial, made slight edits to the links, and polished it up just for you.