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 - February 24th, 2015

Engineering | February 24, 2015 | ...

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

  1. Our pal Adam Koblentz (from ZeroTurnaround) put up this great post introducing building a websocket application with Spring Boot and JRebel. Check it out!
  2. Check out this replay of Mark Fisher, Dr. Mark Pollack, and Sabby Anandan's webinar introducing Spring XD - A Platform for data at scale and developer productivity
  3. A huge part of the Pivotal Data Suite, of course, is Spring XD. Last week I surfaced some of the amazing Spring XD wiki content on the new stream processing supports in Spring XD 1.1. Check out the Wiki page for a more detailed look by Spring XD ninja Ilayaperumal Gopinathan.
  4. Spring Cloud co-lead Spencer Gibb has been improving the Spring Cloud Netflix integration. Check out this example demonstrating using RxJava's Observable<T> return-values from Spring MVC. Here are the changes

Stream Processing in Spring XD 1.1

Engineering | February 20, 2015 | ...

This tip is drawn heavily from this Wiki-page on Spring XD's streaming support by various Spring XD team-members, and particularly the amazing Ilayaperumal Gopinathan

Spring XD 1.1 is here and is packed with lots of new features. One theme for this release is rich stream processing support. Spring XD 1.1 provides integration with Project Reactor Streams, RxJava Observables, and Spark's streaming.

Let's look specifically at using Reactor, though the concepts are similar across all of the supported streaming APIs.

Messages that are delivered on the Message Bus are accessed from the input Stream. The return value is the output Stream that is the result of applying various operations to the input stream. The content of the output Stream is sent to the message bus for consumption by other processors or sinks. To implement a Stream-based processor module you need to implement the interface org.springframework.xd.reactor.Processor

This Week in Spring - February 17th, 2015

Engineering | February 17, 2015 | ...

Welcome to another installment of This Week in Spring! This week I've been in studio recording the next iteration of the Spring Livelessons series, this one on building cloud-native applications (microservices) with Spring Boot, Spring Cloud, and Cloud Foundry. It's been a lot of fun, and - this morning - I took a break to do two 1.5 hour webinars for O'Reilly on building Spring Boot applications and Spring Cloud microservices, both entirely live coded! It's been a fun week for me, and I hope it has for you, as well.

This Thursday the 19th marks the culmination of this year's Lunar New Year, or Chinese new year or Spring festival. What's this to do with Spring (the technology)? Not much, besides being a celebration of better things to come and a great name! So happy new year…

Introducing JHipster

Engineering | February 10, 2015 | ...

This post is a guest post by community member Julien Dubois (@juliendubois), a former SpringSource employee who now works for Ippon Technologies and is creator of the JHipster project. Thanks Julien! I'd like to see more of these guest posts, so - as usual - don't hesitate to ping me (@starbuxman)! -Josh


the JHipster

Introduction

JHipster, or "Java Hipster," is a handy application generator that will create for you a Spring Boot (that's the Java part) and AngularJS (that's the hipster part) application.

In a very short amount of time, JHipster has became very popular on Github, and it has been featured on online magazines - like InfoQ, Infoworld or SD Times - and in conferences all over the world - Paris, London, Montreal…

This Week in Spring - February 10th, 2015

Engineering | February 10, 2015 | ...

Welcome to another installment of This Week in Spring!

If you're in the bay area this week, I'll be speaking at the Netflix OSS meetup in Los Altos talking about Spring Cloud on Wednesday and at Pivotal San Francisco's Open-Source Hub on the amazing Spring Session project on Thursday. I hope you'll join me for either or both! It's sure to be fun!

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

  1. My pal (and Spring Boot co-founder!) Phil Webb and I gave the introduction to Spring Boot lesson at SpringOne2GX 2014 - check it out! Hopefully you'll have as much fun as we did! :)
  2. DZone have published two nice Developers of the Week profiles, one for the good Dr. Dave Syer and one for Spring Batch lead Michael Minella
  3. Adib Saikali put together a really nice article on InfoQ introducing the ways that Java 8 and Spring 4 win.
  4. Readers of this roundup will know that I love me some JHipster, and so I am super excited to have JHipster founder Julien Dubois

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…

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