Josh Long

Josh Long

Josh (@starbuxman) is the Spring Developer Advocate at Pivotal and a Java Champion. He's host of "A Bootiful Podcast" (https://soundcloud.com/a-bootiful-podcast), host of the "Spring Tips Videos" (http://bit.ly/spring-tips-playlist), co-author of 6+ books (http://joshlong.com/books.html), and instructor on 8+ Livelessons Training Videos (http://joshlong.com/livelessons.html)

Recent Blog posts by Josh Long

This Week in Spring, Java 8 Edition - March 18th, 2014

Engineering | March 18, 2014 | ...

Welcome to another installment of This Week in Spring!

Today, Oracle released Java 8 and all its many wonderful features at EclipseCon. Java 8 is finally here! Be sure to grab your JDK today.

There are lots of fine features - like lambas - that enhance Spring application development. To learn more, be sure to check out Spring project lead Juergen Hoeller's webinar on the 25th of March on the subject of Spring 4 and Java 8. I'll be there!

As usual, we've got a lot to cover so let's get to it.

  1. InfoQ has posted a very nice article introducing Spring Boot today by Dan Woods. Dan does a very good job, I'd recommend it.

Happy 25th Birthday, Web! or: Honoring the web by embracing It

Engineering | March 13, 2014 | ...

Yesterday, the 12th of March, 2014, was the 25th anniversary of Sir Tim Berner's Lee having invented the web. As he explains: "I just had to take the hypertext idea and connect it to the Transmission Control Protocol and domain name system ideas and—ta-da!—the World Wide Web." Elementary, really. (Hah!)

Pictured (taken from Wikimedia) is the original NeXT workstation (whose operating system , NeXT Step, underpins today's OS X and iOS design) on which Sir Tim Berners-Lee put together the initial HTTP service and client.

As an aside: I've always wondered what it would be like to be able to…

This Week in Spring - March 11th, 2014

Engineering | March 12, 2014 | ...

Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover, so let's get to it!

  1. Spring AMQP lead Gary Russell has just announced that Spring AMQP 1.3.0 has just been released!
  2. Spring Social lead Craig Walls just announced the first, long-awaited, RC of Spring Social 1.1. Hurray! I'm excited to see this new release.
  3. Spring Security lead Rob Winch has just announced a security fix for Spring Security 3.2.2 and 3.1.6.
  4. Dr. Dave Syer, co-lead on Spring Boot, among many, many other amazing things, has thrown together a sexy looking Spring Boot wrapper for Ratpack, a toolkit for JVM web applications. That's so awesome.
  5. Spring Data lead Oliver Gierke has just announced that the first service release for Spring Data Babbage is now available
  6. I put together a post on the various deployment strategies for Spring Boot applications
  7. Don't miss Mattias Arthursson on a webinar March 18th, presenting Spring LDAP 2.0.0.
  8. Join Juergen Hoeller and the Spring Team for a webinar on Java 8 and Spring Framework 4.0 on March 25!
  9. Speaking of Spring Data, check out the replay of this talk introducing Spring Data repository best practices from SpringOne2GX 2013
  10. Don't miss John Hann's introduction to pragmatic JavaScript from SpringOne2GX 2013
  11. Emanuel Rabina gave a talk at SpringOne2GX 2013 on improving your Spring view layer with natural templates and Thymeleaf: check it out!
  12. The More Vaadin blog has a nice, if short, post on the Spring Boot/ Vaadin integration that Vaadin's Petter Holmström and I have been working on . Nice! As always, this is open-source so don't be shy and be sure to send any feedback you have.
  13. In related news, snapshots of the Vaadin4Spring integration that Petter and I are working on are now published on Sonatype's repository - enjoy!
  14. Our pal Eberhard Wolff is back, and this time he's written up a nice (German-language) post on Spring 4.0 and Spring Boot, among (many) other things
  15. David Williams blog, A Time-to-Value Story with Cloud Foundry, is thought-provoking: how quickly can a technology deliver value - measurable value?
  16. Martin Fowler has started watching the micro services space. Nothing to report, specifically. This is just a page I'd recommend watching.
  17. Layer 7, a CA technologies company, has just released results of a survey focused on API design and deployment. There are many takeaways from the survey, so be sure to read it, but one thing I thought particularly promising: a predicted growth in Hypermedia-aware APIs among API developers. If you're interested in embracing hypermedia, and the design pattern HATEOAS, I would encourage you to check out Spring HATEOAS and - if you'd like to learn more about using Spring HATEOAS and Spring Boot, check out this tutorial and adjoining code.

Deploying Spring Boot Applications

Engineering | March 07, 2014 | ...

Spring Boot 1.0 RC4 just dropped and 1.0 can't be too far behind, and there are all sort of cool features coming!

One of the many questions I get around this concerns deployment strategies for Boot applications. Spring Boot builds on top of Spring and serves wherever Spring can serve. It enjoys Spring's portability. Spring Boot lets the developer focus on the application's development first, and removes the need to be overly concerned with every other aspect of its lifecycle, including deployment and management.

It aims to be production ready, out of the box. As part of this, Spring Boot does a few things differently, by default, that may be at first alien to some. In this post, I hope to briefly cover some of the common strategies for deploying a Spring Boot applications. I'll ever so briefly introduce it, and some sample code, before we dive deeper. Feel free to skip this section and start at the Embedded Web Server Deployment

This Week in Spring - March 4th, 2014

Engineering | March 05, 2014 | ...

Welcome to another installment of This Week in Spring.

As usual, we've got a lot to cover so let's get to it!

  1. Spring Batch and Boot co-founder Dr. Dave Syer has announced that Spring Boot RC4 is now available. Check out the latest cut for all the goodies!
  2. There is a new guide that details how to use Spring Data REST
  3. Spring Data ninja Christoph Strobl has announced that Spring Data Redis 1.2 is now available.
  4. Don't miss Mattias Arthursson on a webinar March 18th, presenting Spring LDAP 2.0.0.
  5. Join Juergen Hoeller and the Spring Team for a webinar on Java 8 and Spring Framework 4.0 on March 25!
  6. David Turanski has put together a nice post on how to use Groovy for bean configuration
  7. Alvaro Videla's and Jan Machacek's talk from SpringOne2GX 2013, RabbitMQ is the new King, is now available online
  8. Gary Russell's SpringOne2GX 2013 talk introducing Spring Integration's internals is now online
  9. Pance Cavkovski has a nice post demonstrating the web socket support from the JavaWebSocket project, Java EE 7 and Spring 4.
  10. Norris Shelton Jr. has a nice post on accessing the Spring Security principal from the currently installed Authentication object using a custom annotation
  11. Quinten Krijger has a nice post on how to manage session concurrency with Spring Security and Spring MVC
  12. Tomasz Nurkiewicz writes about how to build a custom Spring XML namespace. He makes a great point at the beginning, though: Spring doesn't require XML!
  13. The Not Just Another Blog blog looks at how to override the Spring Security filter chain
  14. Thys Michels has a short-and-sweet post on how to configure a Spring application using Java configuration to consume an ElasticSearch service on Heroku.

This Week in Spring - February 25th, 2014

Engineering | February 25, 2014 | ...

Welcome back to another installment of This Week in Spring.

Yesterday I was in Atlanta, GA for the amazing DevNexus conference talking to developers about the latest and greatest in the wide world of Spring, and about REST API development with Spring. Today I am in Montreal, Canada, for the ConFoo conference. I'll speak to developers this week about Spring's rich NoSQL and big-data support and building REST APIs with Spring.

As usual, we've got a lot to cover, so let's get into it!

  1. Spring Batch lead Michael Minella has announced that Spring Batch 3.0 M3 is now available. My favorite new feature? It implements all of the required pieces for JSR 352, the Batch JSR! Congratulations Michael and team, this is a huge milestone!
  2. Spring Mobile lead Roy Clarkson has announced that Spring Mobile 1.1.1 is now available.
  3. Spring Security lead Rob Winch announced that Spring Security 3.2.1, and 3.1.5, are now available
  4. Rob also announced that Spring LDAP 2.0.1 is now available.
  5. Christoph Strobl has announced that Spring Data Redis 1.2.0 is now available, also!
  6. Join Juergen Hoeller and the Spring Team to learn about Java 8 and Spring Framework 4.0 on March 25.
  7. Don't miss Mattias Arthursson on March 18th, presenting Spring LDAP 2.0.0.
  8. Tomcat fans should check out the webinar replay from Apache Committer Stuart Williams and Daniel Mikusa: Introduction to Apache Tomcat 8.
  9. The replay of the Spring Data Community Lightning Talks from SpringOne2GX 2013 are now up
  10. The replay of the SpringOne2GX 2013 talk, _SpringOne2GX 2013 Replay: Researching Cancer In the Cloud Using Spring, Neo4J, Mongo and Redis _
  11. Spring Data lead Oliver Gierke has announced that Spring Data Codd is now available and GA! Check out the latest and greatest bits!
  12. The latest cut of the Axon CQRS framework, version 2.1, is now available.
  13. Pivotal CEO Paul Maritz has penned a nice post on the formation of a foundation around Cloud Foundry
  14. El Reg also has a nice post on the recent formation of the Cloud Foundry foundation in a post titled, Cloud Foundry laps up attention in EMC, IBM, HP, Rackspace, SAP, VMware love-in.
  15. The Zoltan blog has a nice post on using two-factor authentication with Spring Security
  16. Biju Kunjummen on the the Java Code Geek's blog has put together a nice nice post on his first steps with Spring Boot and Spring Integration.
  17. Xavier Padró' has published his followup post to last week's post introducing Spring and Thymeleaf. The new post looks at how to build a form, and how to use Ajax with Thymeleaf.
  18. Speaking of Spring Boot, the OpenCredo blog has a nice post on their first steps with Spring Boot, as well! Check it out.
  19. JavaLobby has a nice post on using custom ViewResolvers with Spring MVC.

This Week in Spring - February 18, 2014

Engineering | February 19, 2014 | ...

Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover so let's get to it!

  1. Spring Data lead Oliver Gierke has announced that Spring Data Babbage SR3 has been released. The new release rolls up Spring Data Commons 1.6.4, Spring Data JPA 1.4.4, Spring Data MongoDB 1.3.4, and Spring Data Neo4J 2.3.4. Like Spring 4 before it, this release train ships with a Maven dependency BOM (bill of materials) that can be used to level set the dependency versions.
  2. March 18th Webinar - Join Mattias Arthursson as he introduces Spring LDAP 2.0.0.
  3. March 25 Webinar - Be sure to check out Spring lead Juergen Hoeller's upcoming webinar: Spring Framework 4 on top of Java 8.
  4. SpringOne2GX 2013 replay: Spring and Sencha - A Match Made In Heaven (or at least the cloud) is now available
  5. Check out a founding father of Spring - Rob Harrop talk about Running Spring in Amazon Web Services, a great talk from SpringOne2GX 2013.
  6. HCL Technologies AVP Srinivas Ajjarapu penned a nice post on some of the ways that Pivotal's stack is helping IT lower spending and get more.
  7. Nicolas Frankel is back, and has put together a nice post on how to chain together Spring MVC ViewResolvers.
  8. Daniel Mikusa and Stuart Williams's webinar replay introducing Apache Tomcat 8 is now available online.
  9. Steve Perkins put together a nice post on his first steps with Spring Boot. Check it out!
  10. John Thoms has put together a nice example of configuring Spring Boot's embedded Tomcat application server with SSL support. Check it out!
  11. The stellar JHipster project, which sits on top of Spring Boot, is now available complete with new monitoring endpoints and a lot more!
  12. Speaking of Spring Boot, Spring Boot RC 3 is now available. Don't hesitate to check it out.
  13. Our pal Xavier Padró is back with a nice look at how to use the view templating library Thymeleaf with Spring
  14. My pal Andy Piper and Eclipse Paho (an MQTT client) lead Andy Piper has put together a nice post on how to use Spring Integration's MQTT support.

This Week in Spring - February 11, 2014

Engineering | February 11, 2014 | ...

Welcome back to another installation of This Week in Spring! I'm hurriedly preparing for a busy few weeks. I'll be giving a tech talk at our office (875 Howard St, San Francisco, CA) on the 18th (and you're more than welcome! Just turn up around 12:30 PST on Tuesday the 18th and join us as we talk Boot, baby!), some training on the 19th, then I'll be in Atlanta for the epic DevNexus show and then, the very next day, off to Montreal, Canada for the ConFoo conference. I hope to see you here, at the GoPivotal offices for the tech talk, or in Atlanta, or in Montreal!

This week we've got lots of…

This Week in Spring - February 4th, 2014

Engineering | February 04, 2014 | ...

Welcome back to another installment of This Week in Spring! There's a lot to cover so let's get to it.

  1. Spring Integration 3.0.1 maintenance release is now available, with lots of good bug fixes, and we encourage 3.0.0 users to upgrade now. Check out Gary Russell's blog about what's new in 3.0.0 if you haven't seen it yet, lots of new features.
  2. Spring Data's first release candidate of their "Codd" release train is now available!
  3. Join Spring Data project leads Oliver Geirke and Thomas Darimont on Feb 18th as they school us on Spring Data Repositories - Best Practices.
  4. On Feb 11th, don't miss an Intro to Apache Tomcat 8 Webinar with Apache committer Stuart Williams and Daniel Mikusa
  5. In other Apache Tomcat news, the maintenance release for Apache Tomcat 6.0.39 is now available. Head over to the TomcatExpert blog to check out the details.
  6. Zoltan's blog has a very nice post on building and deploying a Spring Boot application to Heroku! Check it out!
  7. Spring Batch lead Michael Minella gave a nice talk on Spring Batch and the Batch JSR, JSR 352 from SpringOne2GX, replay now available!
  8. Another SpringOne2GX replay this week, a fantastic talk from E*Trade architect Durai Arasan, on Real life use of Spring Integration with RabbitMQ at E*Trade. One of the best talks of SpringOne2GX 2013!
  9. spring.io lead and Spring ninja Chris Beams has put together a great post on what open-source means for all of us here at Pivotal. Check it out, and spread the word!
  10. Our pals at Neo4J got some great TechCrunch coverage about how Neo Technologies is changing the world of Graph databases!
  11. Blogger Brian put together a neat look at one way to handle common web development tasks like resource optimization (JavaScript transpilation, JavaScript and CSS minification, etc. ) with WRO4J and Spring. Check it out!
  12. Spring lead Juergen Hoeller put up a nice post on how to migrate from Spring 3.2 to Spring 4.0.(1).
  13. The Cygnet Infotech blog put together a neat infographic about Grails titled 6 Reasons Why Grails is an Awesome Java Web Framework. I have no idea what the infographic means by "Java" web framework, but it's certainly an epic JVM web framework, and the rest of it is as true as can be!
  14. The Programming Free blog has a post on building RESTful services with Spring MVC 4.0. This post is technically correct, but could stand to be even simpler! (See below)
  15. Fred George, who I had the pleasure of meeting last year (when I spoke at Oredev) through our mutual pal Chris Richardson, did a great talk in 2012 about building micro services which you can watch here. This video has nothing, specifically, to do with Spring. It instead focuses on building loosely coupled, discrete, micro services that - taken together - describe a system. Why do I mention this? Because Spring Boot makes it dead simple to build such services! Check out the Spring Initializr, select the functionality you need (perhaps web and JPA), open up Application.java, and then add a REST endpoint! Here's an example of a complete, working REST service powered by Spring Boot. The only thing I omit is the Maven (or Gradle) build file.

This Week in Spring - January 28th, 2014

Engineering | January 28, 2014 | ...

Welcome to another installment of This Week in Spring!

A quick reminder: I'll be co-presenting a webinar introducing how to use Spring and Vaadin, the rich internet application framework, together with some folks from Vaadin. We'll present some common integration options and a few not so common ones, too! Stay tuned, and I hope to see you there!

Also, I'm starting to flesh out my speaking agenda for the next few months. So far, I know I'll be at the Great Indian Developer Summit in Bangalore, India from April 22-25, and at be at Geecon in Krakow, Poland from 14 May - 16 May. If you're in either of those regions, I'd love to see you. If you host a JUG or a UG or have a large development team and audience, I'd love to have a chance to talk with you and your group, as well. Ping me.

As usual, we've got a lot to get through, so let's get started!

  1. Spring lead Juergen Hoeller has announced today a double feature release: both Spring 4.0.1 and Spring 3.2.7 have been released! Check it out.
  2. Phil Webb has just announced the first release candidate for Spring Boot 1.0.0!
  3. Join Apache Committer Stuart Williams and Daniel Mikusa for Introduction to Apache Tomcat 8 - Feb 8th, 2014. Reserve your seat now as this is likely to be another popular topic.
  4. Webinar Feb 18th! Don't miss Oliver Gierke and Thomas Darimont as they tell us about Best Practices with Spring Data Repositories.
  5. Did you miss Spring lead Juergen Hoeller's epic webinar introducing Spring 4 (which he gave twice, once for EMEA and once for NorAm timezones?) Did you also miss the two encore performances he gave a week later because the first webinar overwhelmed the web conference and left thousands of participants unable to access it? Then have no fear, you can now watch it online!
  6. Along those lines, Greg Turnquist just announced that all the guides on spring.io have been upgraded to the recently released Spring Boot 1.0.0.RC1!
  7. Nice! Spring MVC ninja Rossen Stoyanchev just announced an updated cut of Spring Web Flow, 2.3.3. It supports Spring 4 and JSF 2.2.
  8. Over on the All and Sundry blog, Biju Kunjummen has put together a nice post introducing how to use Spring's `` - an implementation of the super type token - to correctly marshal REST API responses back and forth over the wire using generic types that would otherwise lose their generic component at runtime due to erasure. He uses the example code from the Spring REST Stack, which I developed for a talk with a lot of help from fellow Spring team members Rob Winch, Roy Clarkson, Craig Walls, Rossen Stoyanchev, Arjen Poutsma, etc.
  9. Last November, I gave a talk, Have You Seen Spring Lately?. I had some trouble converting the talk from Keynote '09 to Keynote 7, and finally managed to get all that squared away. I've just uploaded the full deck (complete with extra content that some versions of this talk didn't include for want of time). I uploaded the deck on Sunday. You can find a link to the video there, as well. Enjoy!
  10. Readers of this column know that I love me some good package management, and OS X's Homebrew ain't half bad. Did you know that you can install Pivotal GemFire and tcServer using Homebrew? Once you've installed the pivotal tap (brew tap pivotal/tap), simply issue brew install tcserver gemfire. Easy as that!
  11. There's a deck for a talk on Spring for Apache Hadoop by Kailash Kutti.
  12. Blogger Sudhir Dharmadhikari really seems to like Spring Data, and even proposes a very flattering rename for the project. To learn about why, check out his blog.
  13. Spring Data ninja Thomas Darimont has just announced that Spring Data Redis 1.1.1 is now available.
  14. Greg Turnquist has penned a very nice blog post explaining how you, too, can contribute to the Getting Started guides.
  15. Meanwhile, over on the Pivotal blog, there's a nice post on how to use window functions in (SQL-based) data analytics. Ok, Ok, I know it has nothing to do with Spring, but it's just so darned useful. Besides, building smarter, data-centric applications will help you build smarter Spring applications!
  16. Pivotal Labs Canada engineering head Farhan Thawar has a nice post on the top 5 myths of mobile application development, which line up with what we've been talking about with our mobile technologies here on the Spring team at Pivotal. Check it out, then take a look at our getting started guides to learn how Spring can help you improve your mobile offerings!
  17. JHipster 0.8.0 is now out! The new release builds heavily on Spring Boot, and packs quite a whallop! Check it out!
  18. Hey, have you tried out the Getting Started guides, by the way? They're dead simple! My pal and colleague Pieter Humphrey sat down and narrated his run through of some of the guides. Check it out! These two videos demonstrate useful, working code, all in about 6 minutes each!
  19. BTW, I wanted to make sure people saw some of the great data- and Spring- centric posts on the GoPivotal blog from the last year. Here is one, _Adding Years to Your RDBMS by Scaling with Spring and NoSQL, another on How to Run Multiple Big Data Applications at Once with GemFire, and yet another on How to Migrate Spring applications to real time Data Grids.
  20. Speaking of Gemfire, there was just recently a very nice post on how the Chinese railroad system is using GemFire to beef up its capacity in advance of the January 31st Chinese new year (or "Spring festival"). If you're reading this from China, happy new year - year of the horse - to you! You might also check out this post I put together last year on Spring at China Scale.
  21. Check out this authorative guide on how Thymeleaf supports various templating styles. Templating and design can be a very important part of a site's utility, as this article - Why Simple WebSites are Scientifically Superior - explains!
  22. Spring Data lead Oliver Gierke has a very nice couple of posts on Stack Overflow. The first explains how to correctly use the PagedResourceAssembler with Spring Data, and the second answers the question, are you supposed to have one repository per table in JPA?
  23. There's a very good - both philosophically and technically deep - look at how to prevent unbounded queues with RabbitMQ.

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