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

Introducing Spring Social Slideshare

Engineering | February 03, 2015 | ...

This post is a guest post by community member Tadaya Tsuyukubo (@ttddyy), creator of the Spring Social Slideshare project. Thanks Tadaya! I'd like to see more of these guest posts, so - as usual - don't hesitate to ping me! -Josh


Spring Social Slideshare is one of the community modules in Spring Social ecosystem. It is a Java binding built on top of the Spring Social framework to interact with the SlideShare REST API.

Spring Social modules provide an implementation of the ApiBinding interface that binds Java interfaces and concrete implementation classes to a REST API. By convention, an interface is named as target service, e.g. GitHub, LinkedIn, Facebook, etc. The implementation class is of the form *Template, e.g.: GitHubTemplate, LinkedInTemplate, and FacebookTemplate. In Spring Social Slideshare, there is a Slideshare interface and SlideshareTemplate implementation class. You can use spring to inject the SlideshareTemplate to your service. Or, if you choose to, you can directly instantiate

This Week in Spring - February 3rd, 2015

Engineering | February 03, 2015 | ...

Welcome to another installment of This Week in Spring! We've got a lot to cover, so without further ado, let's get to it!

  1. Spring XD co-lead Dr. Mark Pollack's just announced that Spring XD 1.1 RC1 is now available! Now's the time to get the bits, try it out and see if there any gaps!
  2. If you've been reading the amazing Dr. Syer's blogs of late, you'll know that he's been introducing people to how to use expose and secure REST services for a UI client. The fourth post looks at how to insert an API gateway between the clients and the backend service. The fifth post then introduces OAuth as a drop-in replacement for the bespoke authentication session tokens being used. If you're not following this series, do go back and reread them. This series treats a subject that I get asked…

This Week in Spring - January 27th, 2015

Engineering | January 28, 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

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

Engineering | January 27, 2015 | ...

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…

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

Engineering | January 20, 2015 | ...

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.

In this post, we'll look at how Spring Cloud helps you manage that complexity with a service registry like Eureka and Consul and client-side…

This Week in Spring - January 20th, 2015

Engineering | January 20, 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

This Week in Spring - January 13th, 2015

Engineering | January 14, 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!

  • The good Dr. Syer, former lead of Spring Batch, co-lead of Spring Boot, Spring Cloud and Spring Security OAuth, and a rockstar to various Spring projects including Spring itself, over the years, has kicked off a series of posts on very practical matters related to securing Angular.js applications with Spring. The first one, Spring and Angular JS: A Secure Single Page Application, introduces the basics of connecting an Angular.js-based client to a backend API. The second, The Login Page: Angular JS and Spring Security Part II, introduces the login form. Bookmark this series!
  • The amazing, sleep-intolerant, Rob Winch has just announced Spring Session 1.0. Spring Session, for those who've not been paying attention, is a drop in proxy API for the standard Servlet HTTP Session API. Install it, and then delegate HTTP session persistence to other backend implementations like Redis. This is ideal for a lot of reasons: if you are using a Java EE application server and want to scale out session replication, you can use an engine that was better designed for it. It's a safe bet that the team behind Cassandra and Redis have thought…

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

Engineering | January 13, 2015 | ...

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…

This Week in Spring - January 6th, 2015

Engineering | January 07, 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.

This Year in Spring - December 30, 2014

Engineering | 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…

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