This Week in Spring - July 1st, 2014

Engineering | Josh Long | July 02, 2014 | ...

Welcome to another installment of This Week in Spring! It's already July, and Summer is here! Can you believe it? Time sure flies. We've got a lot to cover this week, as usual, so let's get to it.

  1. Last week, we announced the Spring IO platform. I won the lottery on this one, and they let me write the blog, but this effort reflects more than a year of internal discussion, planning, hard work, cooperation and coordination between all the Spring projects. I did my level-headed best to introduce the Spring IO platform in this blog. You should read it. If it doesn't sound awesome and very, very useful, than I've simply done a poor job explaining it! :D Don't hesitate to reach out. The Spring IO platform is a radically simpler way of dealing with dependencies across all the Spring…

Introducing the Spring IO Platform

Engineering | Josh Long | June 26, 2014 | ...

We're pleased to announce the release of Spring IO 1.0!

Spring IO is first and foremost a logical description of what many of users will already know and use as a single, cohesive, harmonized platform, centered around Spring.

Big Things Come in Small (Java) Packages

The Spring IO platform includes Foundation Layer modules and Execution Layer domain-specific runtimes (DSRs). The Foundation Layer represents the core Spring modules and associated third-party dependencies that have been harmonized to ensure a smooth development experience. The DSRs provided by the Spring IO Execution Layer…

This Week in Spring - June 24, 2014

Engineering | Josh Long | June 24, 2014 | ...

Welcome to another installment of This Week in Spring - this week I'm working with the amazing Vaadin team on building some ridiculously fun applications. Be ready for more on that soon! Also, the SpringOne2GX 2014 early bird has been extended to June 30th, so register now! Without further ado, onward:

This Week in Spring - June 17, 2014

Engineering | Josh Long | June 17, 2014 | ...

Welcome to another installation of This Week in Spring. This week I'm in Toronto, Canada, visiting the Pivotal Labs offices and talking to customers doing amazing things with different parts of the Spring platform.

There is some very exciting news coming tomorrow, so be sure to check this blog tomorrow!

  1. Spring for Hadoop 2.0 GA has been released! The new release adds support for Apache Hadoop (2.2, 2.4), Pivotal HD 2.0, Cloudera CDH 5, and Hortonworks HDP 2.1, supports YARN, new readers/writers for working with HDFS, new support for reading and writing POJO datasets using the Kite SDK, and a lot more.
  2. Spring YARN ninja Janne Valkealahti has put together some epic guides introducing Spring YARN. Related: there are Canadian banks interested in this stuff! BANKS - the most risk averse organizations in the world!
  3. Stéphane Nicoll talks about the improvements in our Spring Cache abstraction coming in Spring 4.1.
  4. Stéphane also debuts the new Getting Started guide that introduces the Spring Cache abstraction. Very cool!
  5. Join Greg Turnquist on July 8th for a webinar about Building your app management tools with Spring Boot. See how to monitor application logs using a little Spring Integration, Spring WebSocket+STOMP, and other technologies, all with some lightweight Boot+Groovy code.
  6. From the trenches: Join Casey Doolittle and Phil Dutson on July 15th for a webinar about a crazy prioject, and how they had to Build a Shopping Cart in 24 Hours using Spring.
  7. Check out this upcoming webinar by Michael Plod on why he recommends Spring - learn the business and technology case! Michael is a great speaker and frequently appears at conferences. Register now for the event on July 22nd.
  8. On July 29th, Russ Danner from Crafter software will tell us about Conquering Content-enabled Web and Mobile Applications with Spring and Groovy.
  9. SpringOne2GX 2013 replay from Splunk: Integrating Splunk into your Spring Applications
  10. SpringOne2GX 2013 replay from JFrog: Open/Closed Software - Developing freemium application using Spring Framework
  11. Kailashnath Kutti talks about scripting and and querying Hadoop at the Singapore Spring User Group. Nice talk, check it out!
  12. Speaking of Hadoop, check out this article on GigaOm about the state of the Hadoop ecosystem, and of Pivotal's contributions
  13. I liked Rafał Nowak's introduction to Spring Boot.
  14. There's a nice post on Dzone by Lubos Krnac on secure-by-default vs. secure-by-exception approaches to using Spring Security. I like it! The nice thing about Spring Security is that the choice is always yours.
  15. Sezin Karli put together a nice post on how to use Spring Boot's auto configuration support for Spring Social
  16. I loved Netflix engineer Tomas Lin's great post on reading and validating lists of properties with Spring Boot.
  17. Congrats to team Socrates on winning the Neo4j prize at HackSummit for most innovative use of a graph Database for social good. Does this have much to do with Spring? No, it's just that Neo4j's a very nice choice for many different types of data workloads. You might check out the webinar the amazing Michael Hunger and I did on the topic a little while ago!
  18. An oldie but a goodie: Keyhole software's Mark Adelsberger put together a nice post on how they use Spring's RabbitMQ support, following a tutorial on the same subject.

Further Cache Improvements in Spring 4.1

Engineering | Stéphane Nicoll | June 16, 2014 | ...

This post is a follow-up of my earlier post related to JSR-107. Adding JSR-107 support gave us the opportunity to review our own and see how the two can live happily together. Spring 4.1 also contains a series of improvements reported by the community.

I am also happy to announce that a new getting started guide dedicated to the cache abstraction has been published, check Caching Data with Spring!

CacheResolver

One of the nicest features we found in JSR-107 was the ability to resolve the cache to use at runtime, that is based on the actual method execution. So far, our own support was relying on cache name(s) being specified at the annotation (or aspect definition) level. Several issues were raised to report that when more than one CacheManager

Introducing Spring YARN getting started guides

Engineering | Janne Valkealahti | June 13, 2014 | ...

Now that Spring for Apache Hadoop version 2.0 is GA I'd like use this opportunity to introduce our new Spring IO getting started guides for builing Hadoop YARN applications.

We have a generic guides how to work with Spring YARN using Gradle or Maven. Our guides are designed to work with both build systems.

These two guides are demonstrating a familiar 'hello world' application type having a very minimalistic code base. Behaviour of these applications are identical having a difference in a project structure…

This Week in Spring - June 10th, 2014

Engineering | Josh Long | June 11, 2014 | ...

Welcome to another installment of This Week in Spring. This week has been an amazing week! I started it in Krakow, Poland, talking to developers at the wonderful 33rd Degree conference, then headed to Warsaw, Poland, where I presented at the amazing local Spring Labs user group. Tomorrow, it's off to London for Devoxx UK where I'll be helping spread the Spring Boot awesome. Then, Friday, it's off to Toronto where I'll be meeting with 4 customers and teams using Spring next week. What's this mean for you? Well, for one, if you're in London and Toronto, say hi! It also means that conference season is on in full force. We try to be wherever we're needed. What conferences (besides SpringOne2GX 2014, of course!) are you going to this year? I'd love to know which conferences you're doing this year. Help us prioritize, please. Thanks! (Twitter hashtag #twiSpring)

First community-written getting started guide is published

Engineering | Greg L. Turnquist | June 05, 2014 | ...

Greetings Spring community,

Today we have just published the first getting started guide written and submitted by a community member: Producing a SOAP web service.

Maciej Walkowiak crafted a guide that served his needs and decided to contribute to the community. It lined up with expressed interest in such a guide from others. Maciej used https://github.com/spring-guides/getting-started-guide as his template and submitted a pull request to it containing his crafted guide.

We were able to merge all of his commits into an independent repository, apply some editorial polish, and after final review…

Introducing Spring Cloud

Engineering | Ramnivas Laddad | June 03, 2014 | ...

Developing, deploying, and operating cloud applications should be as easy as (if not easier than) local applications. That is and should be a governing principle behind any cloud platform, library, or tool. Spring Cloud--an open-source library--makes it easy to develop JVM applications for the cloud. With it, applications can connect to services and discover information about the cloud environment easily in multiple clouds such as Cloud Foundry and Heroku. Further, you can extend it to other cloud platforms and new services.

In this blog (first in a series), I will introduce Spring Cloud and show its usage from the application developer point of view. We will develop a simple application and deploy to Cloud Foundry and Heroku

This Week in Spring - June 3rd, 2014

Engineering | Josh Long | June 03, 2014 | ...

Welcome to another installment of This Week in Spring. This week's an exciting week! Well, let's be honest. They're all exciting weeks. But in particular, this week's going to make a lot of people happy. Watch the blog and I'll see you back here next week to recap! :)

  1. Oh my goodness! Spring Boot 1.1.0.RC1 is now available! The new release maintains the epic with support for Spring Data Elasticsearch, HornetQ, and Spring Social, and a lot more! Grab the latest release, kick the tires, and feedback on Twitter or GitHub.
  2. Dr. Mark Pollack has just announced that the latest release of Spring XD, 1.0.0.M7 is now available. The new release provides a lot of great new features. My favorite is the ability to pin data to a certain stream - think of this as correllation using a message's content - so that you can preserve stateful operations. Think of this as a great way to route and divide messages based on a useful business key. There's a great example in the release notes.
  3. Azul rockstar Gil Tene gave an amazing talk on reducing latency for SpringOne2gX 2013 that is now available online. Gil is one of our industry's mad scientists. I haven't yet seen this talk, but I will, and I highly recommend that you do too. Azul makes high performance, low latency JVMs both as appliances and as deliverable software. His talks thus stem from a lot of thankless research and development that I'd just as soon spare myself by watching, and learning from, his talks. Go, Gil!
  4. June webinars are here! Michael Minella in Spring Batch 3.0.0 on June 10th, and Glenn Renfro in Spring Integration Done Boot-ifully on June 17th.
  5. Spring ninja Greg Turnquist has put together a teaser post on using the amazing when.js Promises/A+ implementation in a front-end REST client in advance of his SpringOne2GX 2014 talk. Check out the post and his talk at the conference!
  6. Ramnivas Laddad, a Spring ninja, original AspectJ leaders, and architects behind Cloud Foundry, has just posted a very cool look at Spring Cloud, which makes consuming client services from different middle/infrastructure services (a database, a message queue) on various Platforms-as-a-Service (PaaSes) a simple matter of platform-decoupling configuration.
  7. The replay of ADP's Jeffery Sologov's talk looking at the pitfalls of building large scale applications is now up! Check it out!
  8. ttp://twitter.com/JakubJirutka chimed in to tell us about this epic Spring Expression Language (SpEL)-powered implementation of the Bean Validation API (JSR 303/349). The GitHub offers an interesting point, "it’s especially very useful for cross-field validations that are very complicated with a plain Bean Validation." I love the examples, too:
     
    @SpELAssert(value = "password.equals(passwordVerify)",
            applyIf = "password || passwordVerify",
            message = "{validator.passwords_not_same}")
    public class User {
      private String password;
      private String passwordVerify;
    }
    

    Nice job!

  9. A hat tip to the amazing Brian Dussault for finding this: Zuul is a nifty looking application configuration management solution that offers a clean Spring client API.

  10. You know what made my day yesterday? A HystrixInvocationHandler. An InvocationHandler is used by the JDK (and Spring's rich proxying subsystem) to create proxies that wrap beans. This InvocationHandler wraps method invocations on a given bean in Netflix's OSS Hystrix project's Command objects. Hystrix Commands wrap functionality and provide/support resiliency patterns. I can't wait to see more of what becomes of Spencer Gibb's Halfpipe project!
  11. Our pal David Welch is at it again, this time with an interesting project called Spring Tiered, which aims to simplify even further (and normalize) the development of HATEOAS based services. Interesting...
  12. Also, speaking of building (and consuming) resilient services, check out Chris Richardson's fantastic talk from SpringOne2GX 2013 on powerful abstractions for consuming services asynchronously.
  13. Also, I put together a post talking about getting started with Maven (and alternatives) and Spring

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