Spring Team
Josh Long

Josh Long

Spring Developer Advocate

an aisle seat or San Francisco, CA

Josh Long is the Spring Developer Advocate. Josh is the lead author on Apress’ Spring Recipes, 2nd Edition, the O'Reilly "Pro Spring Roo" book, the Pearson "Livelessons for Spring" and a committer on several Spring projects and the Activiti BPMN framework. When he’s not hacking on code, he can be found at the local Java User Group or at the local coffee shop. Josh likes solutions that push the boundaries of the technologies that enable them. Josh's interests include big-data, mobile, REST, NoSQL and integration. He blogs on the Spring blog and [on his personal blog](http://joshlong.com).
Blog Posts by Josh Long

This Week in Spring - January 27th, 2015

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. Join Andy Wilkinson as he discusses REST API documentation, swagger, and more in a webinar on Tuesday, Feb 3rd - Documenting RESTful APIs
  2. Sabby Anandan is joining us for the Spring XD 1.1 launch webinar on Tuesday, Feb 17th - Spring XD: A Platform for data at scale and developer productivity
  3. Don’t miss Rob Winch as he takes a fresh look at HTTPSession for the cloud. His webinar is on Tuesday, Feb 24th, 2015 Webinar: Introducing Spring Session
  4. I put together a look at 12-factor app-style backing service consumption in Spring, and using Cloud Foundry
  5. Check out this talk introducing system administration using Groovy from Netflix’s Dan Woods
  6. Apache Tomcat contributors Stuart Williams and Daniel Mikusa’s SpringOne2GX 2014 talk - Fastest Servlets in the West? - is now available online! Check it out!
  7. Check out Spring Social lead Craig Walls’ SpringOne2GX 2014 talk, Booting up Spring Social, which introduces the various ways that Spring Boot simplifies (even further!) using Spring Social.
  8. Billy Yarosh put together a nice blog on using Spring HATEOAS.
  9. Are you following This Week in Cloud Foundry?
  10. Check out this nice post on integration testing with Spring Boot and RestAssured
  11. Our pal Mkyong is back, this time with a post on using Spring profiles!
  12. Florian Hohpf’s post introduces logging to Redis using Spring Boot and Logback
  13. Want to use Quartz in Spring Boot? This StackOverflow was short and sweet and answers a question I’ve seen elsewhere about getting Quartz jobs working that used to work.
  14. Driss Amri put together anice introduction to using Spring Boot and Thymeleaf for modern web application development
Read more...

12-Factor App-Style Backing Services with Spring and Cloud Foundry

The 12 Factor App Manifesto talks about backing services at length. A backing service is, basically, any networked attached service that your application consumes to do its job. This might be a MongoDB instance, PostgreSQL database, a binary store like Amazon’s S3, metrics-gathering services like New Relic, a RabbitMQ or ActiveMQ message queue, a Memcached or Redis-based cache, an FTP service, an email service or indeed anything else. The distinction is not so much what the service is so much as how it’s exposed and consumed in an application. To the app, both are attached resources, accessed via a URL or other locator/credentials stored in the configuration.

Read more...

This Week in Spring - January 20th, 2015

Welcome to another installment of This Week in Spring! This week’s roundup could’ve just as easily been titled, This Week in Spring Videos and Webinars, because we’ve got a lot of them!

  1. The good Dr. Dave Syer continues his series introducing Spring Security and Angular.js integration, this time looking at breaking apart the resource server from the authorization server. This post looks
  2. Our pal Nicoalas Frankel is back at it! Nicolas lives in both the Vaadin and the Spring communities. So, naturally, when Petter Holmström and I started the Vaadin4Spring project at the beginning of 2014, we weren’t surprised when Nicolas started making great contributions. His latest contribution introduces an elegant implementation of the MVP pattern for Vaadin and he’s written a very nice introduction to it - check it out!
  3. I’ll be speaking at the Oakland JUG on the 28th on building microservices with Spring Cloud and Cloud Foundry.
  4. Tadaya Tsuyukubo just announced the first 1.0.0 release of the Spring Social Slideshare project. I haven’t had a chance to play with it yet, but it looks like it could scratch a few itches I’ve got! Nice work!
  5. I hope you’ll join me next month for a webinar introducing the Spring Session project.
  6. Speaking of Vaadin and Spring, I’ll be co-presenting this week at the GWT.create conference. Our talk will look at controlling a Parrot AR Drone using a Vaadin-based HTML5 frontend and a Spring Boot-powered backend and drone client. Come join us, it’s sure to be fun!
  7. InfoQ did an interview with Spring Boot co-founder Phil Webb on all the new features in Spring Boot 1.2.1
  8. Alexandre Lourenco put together a post demonstrating how easy it is to get a REST API up and running with Spring Boot in this quick post on DZone
  9. Be sure to check out Spring XD’s Sabby Anandan in this webinar on Spring XD.next on February 17th
  10. The incomparable, amazing Andy Wilkinson will be talking about how to document REST APIs in a February 3rd webinar.
  11. I put together a post that introduces service registries like Consul and Eureka for more resilient service-to-service calls in a Spring Cloud-based system.
  12. Our pal Jakub Kubrynski has put together a wonderful post on including the NewRelic Java agent in a Spring Boot uber-jar
  13. In putting together the post on service discovery and registration with Spring Cloud, I stumbled upon Jason Wilder’s fantastic look at service registries and really liked it, even though it doesn’t have anything to do with Spring, per se.
  14. Check out this replay of Rossen Stoyanchev’s SpringOne2GX 2014 talk introducing Spring 4’s support for web applications
  15. Check out this SpringOne2gx 2014 talk from Matthew Adams (SCI Spike) and Michael Nitschinger (Couchbase) on using Spring Data Cassandra and Spring Data Couchbase in the enterprise
  16. Garrett Wampole’s SpringOne2GX 2014 talk on enterprise integration patterns as applied to real-time data processing is worth a watch!
  17. Check out our pal and the Spanish Spring I/O conference’s organizer Sergi Almar’s talk deep-diving into websockets
  18. Speaking of super awesome Spaniards, the Disid team just announced Spring Roo 1.3.1 RC2
  19. Spring Tool Suite and Groovy Tool Suite lead Martin Lippert just announced the latest releases, 3.6.3 SR1.
  20. My pal Luke Shannon did a fantastic webinar introducing Spring Data Gemfire, a world-class integration for a world-class data-grid.
  21. Spring Batch and Spring Batch Admin lead Michael Minella has just announced the latest release of both projects. The new Spring Batch revision includes support for JSR 352 custom infrastructures, polling for partitioned results, and more. The Spring Batch Admin revision integrates the latest and greatest in Spring Batch, including JSR 352 and Java configuration support. Check it out!
  22. Spring IO Platform lead Andy Wilkinson has announced Spring IO Platform 1.1.1, which includes the latest cuts of Spring AMQP, Boot, and Integration
  23. Spring Integration lead Gary Russell’s SpringOne2GX 2014 talk on Spring Integration’s new Java configuration support is not to be missed!
  24. Check out Spring framework lead Juergen Hoeller and Stephane Nicoll’s talk on caching and messaging improvements in Spring 4.1
  25. The sleepless Spring Security lead Rob Winch’s SpringOne2GX 2014 introduction talk on Spring Security is also available
  26. Spring framework lead Juergen Hoeller’s SpringOne2GX 2014 talk on Spring framework and Java 8 is not-to-be-missed primer for those looking at the next-gen Spring 4 and 4.1
  27. Another nice post on using SimpleJdbcInsert to handle JDBC data insertion
  28. Alvin Henrick put together a nice post on using Spring Boot and Docker together
  29. I found this interesting Q&A post on using Groovy with Spring Boot
  30. Alex Collins’ post on using Docker, Elastic Search, and Selenium to create a search-in-a-box is epic! Check it out!
  31. This Japanese-language post on using the new Spring Boot 1.2.1’s Jersey support looked pretty good (via Google Translate!)
  32. Want to stand up services via Docker? Check out our pal Chris Richardson’s post on standing up services via Docker! You could, for example, consume these services from another Docker-packaged Spring Boot application, or on Cloud Foundry.next (hitherto called “Diego”). http://plainoldobjects.com/2015/01/14/need-to-install-mongodb-rabbitmq-or-mysql-use-docker-to-simplify-dev-and-test/
  33. Are you following This Week in Cloud Foundry? Do! There’s so much good stuff there, as usual.
Read more...

Microservice Registration and Discovery with Spring Cloud and Netflix's Eureka

The microservice style of architecture is not so much about building individual services so much as it is making the interactions between services reliable and failure-tolerant. While the focus on these interactions is new, the need for that focus is not. We’ve long known that services don’t operate in a vacuum. Even before cloud economics, we knew that - in a practical world - clients should be designed to be immune to service outages. The cloud makes it easy to think of capacity as ephemeral, fluid. The burden is on the client to manage this intrinsic complexity.

Read more...

This Week in Spring - January 13th, 2015

Welcome to another installment of This Week in Spring. We’ve got a lot to talk about. Our own Pieter Humphrey has been tirelessly working to get the replays of the SpringOne2GX 2014 show available online and there are a slew of them this week! What a win!

Read more...

"Configuring It All Out" or "12-Factor App-Style Configuration with Spring"

Let’s establish some vocabulary, before we begin. When we talk about configuration in Spring, we’re usually talking about the inputs into the Spring framework’s various ApplicationContext implementations that help the container understand what it is you want done. This might be an XML file to be fed into a ClassPathXmlApplicationContext, or Java classes annotated a certain way to be fed into an AnnotationConfigApplicationContext.

Another type of configuration, as nicely described in the 12-Factor application manifesto, is any of an application’s that is likely to vary between deploys (staging, production, developer environments, etc.), like service credentials and hostnames.

Read more...

This Week in Spring - January 6th, 2015

Welcome to another installment of This Week in Spring! I hope your holiday and new year was awesome! It’s the beginning of a new year (I almost typed “2014”!), and we’ve got a lot of great stuff coming this year! Let’s see what the internet has been doing this last week in the Spring community.

Read more...

This Year in Spring - December 30, 2014

Welcome to another installment of This Week in Spring! This week, as is our tradition, we’ll look back at a few of the big things that made 2014 a wonderful year to be a Spring developer. And, what a year it was!

  • The tail end of last year saw Spring 4 GA and this year saw the Spring 4.1 release just shy of 9 short months after 4.0! Spring 4.x boasts a dizzying array of new features! Java 8 support, Java EE 7 support, new Spring MVC views, JSR 107 support, a powerful resource pipeline and the @Conditional annotation which of course made possible…
  • Spring Boot, whose first 1.0 GA was in April of this year, has seen two epic updates (1.1, and 1.2) since then. Spring Boot’s taken the community by storm, spawning all sorts of activity both from our team and, more importantly, from everybody else! The competition have attempted to downplay it, or copy it. Existing Spring users have flocked to it in droves (including the likes of Netflix and Ticketmaster). If you follow this weekly roundup, though, then you need no further evidence of the community’s uptake! It’s been so much fun watching people blog about using Spring Boot to do… seemingly everything!
  • Spring XD 1.0 was released earlier this year and a followup, Spring XD 1.1 is fast nearing completion. Spring XD (also built on Spring Boot, BTW!), provides a workbench for data processing by building on Spring Integration, Spring Data and Spring Batch. It’s slick, fast, elegant, and of course people have been quick to include it in their arsenal.
  • Spring Cloud was announced this year at SpringOne2GX 2014 in Dallas, TX. Spring Cloud provides support for building cloud-native, microservice-style applications and builds on the programming model exposed by Spring Boot. It integrates popular libraries and infrastructure like many of the Netflix OSS stack and Consul.
  • Cloud Foundry has also had one heckuva year! Late last year we started seeing the first trickle of Cloud Foundry v2 and this year we saw that mature, and we also saw Cloud Foundry v2.1! Exciting work is ongoing already for the next generation Cloud Foundry; it’s a bottom-up rewrite of all the components in blazing-fast Go that provides a runtime (“Lattice”) that can be used independant of the higher PaaS-y bits. Cloud Foundry, of course, is an ideal target for Spring Boot and Spring Cloud-based applications. Pivotal Cloud Foundry, the shrink-wrapped distribution of Cloud Foundry, has grown by leaps and bounds. Coming soon: tiles and support for Spring XD and Spring Cloud! And, of course, we couldn’t finish this paragraph without mentioning perhaps the most exciting thing of all: the Cloud Foundry Foundation is now fully operational!
Read more...

This Week in Spring - December 16th, 2014

Welcome to another installment of This Week in Spring! In a few short weeks we’ll be in 2015! Will that be exciting? Of course. But this week’s pretty exciting as well! So much good stuff this week.

Read more...

This Week in Spring - December 9th, 2014

Welcome to another installment of This Week in Spring! In a few short weeks we’ll be in 2015! Will that be exciting? Of course. But this week’s pretty exciting as well! So much good stuff this week.

Read more...