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 - October 29th, 2013

Engineering | October 29, 2013 | ...

Welcome back to another installment of This Week in Spring!

If you're in the Bay Area, I hope you'll join me at 875 Howard St. in San Francisco at the Pivotal offices on the 5th floor at 5:30 both today and tomorrow. I'll be giving one talk each evening - one on building RESTful services with Spring, and the other a sort of abbreviated look at the latest and greatest in the Spring.IO platform. Also, the SpringOne2GX 2013 keynotes from day 1 and day 2 are now up for your enjoyment. Make sure to check out the Day 1 keynote around 1:13:40 to hear Pivotal Labs - hardcore Ruby developers, talk about their experience with Spring and Spring Boot.

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

  1. For everybody who is looking to quickly increase their Spring knowledge Spring Education is offering a nice end of the year discount on all Spring Training classes in November and December. Please use the following referral code during the registration process: springtime.
  2. At the Strata Conference + Hadoop World 2013, Pivotal announced that Spring for Apache Hadoop / Spring XD has been certified with Pivotal HD, Cloudera's CDH, and Hortonworks HDP products.
  3. Speaking of Spring XD - a new getting started guide on how to use Spring XD to monitor Twitter is now available - check it out!
  4. If you want to learn about Spring for Hadoop and Spring XD, check out the replay of the webinar, What You Can Do With Hadoop: Building Big Data Applications with Hadoop & Spring.
  5. Still Spring and Hadoop hungry? The SpringOne 2GX 2013 Day 2 Keynote Replay is now available -- hear Mark Pollack, Mark Fisher, Michael Minella and Graeme Rocher in their epic keynote ranging from Spring IO, Groovy/Grails, Spring and Hadoop, Big Data, Spring Batch and Integration.
  6. Join Juergen Hoeller for a Spring Webinar Replay: Modern Component Design with Spring from a very recent webinar!
  7. Catch up on the latest in Websockets with Rossen Stoyanchev in a webinar replay: Building WebSocket Browser Applications with Spring
  8. Spring MVC and web CMS users should check out this session from Campbell-Ewald and Magnolia on Bringing Spring Apps to the Web at the US Navy, brought to you by the Spring Team and Magnolia.
  9. On November 19th, I'll join C24 CEO John Davies for a talk, Dynamic Routing at 1 Million Per Second with Spring Integration where we'll discuss how to scale processing with C24's excellent integration technology and Spring Integration
  10. Join me on November 21st for a webinar introducing the latest and greatest coming out of the Spring family as part of Pivotal
  11. Our friend Petri Kainulainen is back at it again, this time with a post on how to add Spring MVC web application registration and login with the Spring Social and Spring Social Security modules.
  12. Nicolas Frankel has put together an interesting post: Dependency Injection and Rich Domain Objects are Compatible.
  13. Dan Woods is back and he's put together a post on creating a backend processor (service tier) with Spring Integration and RabbitMQ
  14. Spring Data ninja Oliver Gierke has announced that the Spring Data Babbage release train SR1 has been released. The release bundles a bunch of important enhancements and bug fixes and is a recommended upgrade. You can find all issues fixed in this release in our JIRA. This release train is named for Charles Babbage, who was a mathematician, philosopher, inventor and mechanical engineer, who is best remembered now for originating the concept of a programmable computer.

This Week in Spring - October 22nd, 2013

Engineering | October 22, 2013 | ...

Welcome to another installment of This Week in Spring! This week, I'm in Singapore to talk to developers about the latest and greatest coming out of the Spring group at Pivotal as part of my participation in the Pivotal APJ Summit.

  1. Spring lead Juergen Hoeller will be doing a webinar called Modern Component Design with Spring on October 24th (2 days from now!) Be sure to be there, it's going to be awesome!
  2. On November 19th, I'll join C24 CEO John Davies for a talk, Dynamic Routing at 1 Million Per Second with Spring Integration where we'll discuss how to scale processing with C24's excellent integration technology and Spring Integration
  3. Join me on November 21st for a webinar introducing the latest and greatest coming out of the Spring family as part of Pivotal
  4. Our friend Xavier Padro is back at it again! This time, he's got a blog on using Spring Integration's RMI Channel Adapters
  5. Spring Data ninja Oliver Gierke has put up the slides to his talk on developing for Spring as part of Pivotal, looking at the tools and methodologies employed. This is a great read if you've ever wanted a look inside the chocolate factory..
  6. Spring Data ninja Oliver Gierke has put together a nice response to the question, "what is the difference between Spring HATEOAS and SpringData REST?" Nice question and great answer!
  7. Our pal Petri Kainulainen is at again, this time with a nice tutorial on Sping Data Solr.
  8. Groovy & Grails is now a 4-day class, see the full training program here .
  9. The JavaBeat blog has a nice introduction to how to use the @RequestHeader annotation in Spring MVC. Check it out!
  10. The Java Papers blog has a nice post on how to use a Spring MVC Handler Interceptor.
  11. The InterTech bkig has a nice post introducing Spring MVC's @SesssionAttribute.

This Week in Spring - October 15th, 2013

Engineering | October 15, 2013 | ...

Welcome to another installment of This Week in Spring! Also, Happy Ada Lovelace day!

This week I'm off to the Lion City, Singapore, to talk to business leaders about Spring at the Asia Pacific Pivotal Summit! If you're in Singapore and want to chat enterprise Java, Spring, Cloud Foundry and big-data, then ping me!

If you're in the San Francisco / Bay Area, then join me at the end of this month, Tuesday October 29 and 30th, at the Pivotal HQ for two talks on Spring: one introducing REST development with Spring, and the other as a general look at the latest and greatest from Spring, as part of Pivotal.

  1. Spring Integration lead Gary Russell has announced that Spring Integration 2.2.6 is now available! latest maintenance release in the current release (2.2.x) branch and includes a number of important bug fixes for (S)FTP, Scripting, TCP, Events, and Mongodb support. Check it out!
  2. Hungry for Hadoop basics? Head over to gopivotal.com to see the replay from the recent Hadoop Webinar series: Building Big Data Applications with Hadoop & Spring.
  3. Join Juergen Hoeller for an annotation-based view of Spring on Thursday Oct 24th: Modern Component Design with Spring, register now for Europe or North America
  4. On Nov 19th, join me and John Davies to learn about Dynamic routing at 1 million per second with Spring Integration. register now for Europe or North America.
  5. On Nov 21st, join me for a webinar, Have you seen Spring Lately? where I talk through everything that has happened with Spring this year, particularly with what was announced at SpringOne this year. Register now for Europe or North America.
  6. Meanwhile, over on the Mkyong.com blog, there's another great post, this one on using Spring MVC and Google Maps for geo location.
  7. The JavaBeat blog has a nice post on how to use the Spring MVC Test Framework to test Spring MVC applications.
  8. The ISOS Technology blog has a nice post on unit testing Spring MVC Portlets
  9. The third installment of a series of posts I did introducing Spring's rich REST stack is now available on the Safari blog. The code, as always, is available on my GitHub account.
  10. You can easily install Spring Boot through Homebrew: brew tap pivotal/tap && brew install springboot. This is of course in addition to some of the other amazing Pivotal technologies that you can get through Homebrew, including the Spring REST Shell (brew install rest-shell), and RabbitMQ (brew install rabbitmq)
  11. Do you want to use RabbitMQ via JMS? Spring ninja Greg Turnquist has done a nice job demonstrating how to use the RabbitMQ JMS connector from Spring). Check out this post for more details!
  12. Microsoft's done a lot of work to make Redis available on Windows! Check out this MSDN Channel 9 video on running Redis on Windows.
  13. the libfugu.so blog provides a quick and dirty look at RabbitMQ. Nice! (and, extra points for finding a domain that looks like a Linux linked library!)
  14. Check out this video demonstrating how to setup New Relic monitoring support for a Spring application running on Cloud Foundry.

This Week in Spring - October 8th, 2013

Engineering | October 08, 2013 | ...

Welcome to another installment of This Week in Spring

I spent the weekend at the amazing Silicon Valley Code Camp event. It was an amazing event. People who visited the Pivotal booth got a chance to play with Spring Boot. People versed in Java, iOS, Python, .NET, Objective-C, and more all used Spring Boot to setup a RESTful service in a matter of minutes. To be honest, I found the results ("Wow! I didn't know you could do that!") both amusing and very satisfying! People are really getting into Spring Boot.

  1. Speaking of Boot, did you miss Phil Webb's Spring Boot webinar? If so, don't worry! You can watch it online!
  2. Roy Clarkson's announced the availability of Spring Mobile 1.1.0! The new release - as many of you know from having followed this roundup - features improved device detection in LiteDeviceResolver, tablet support in SitePreference and SiteSwitcher, a Java-based configuration API, and LiteDeviceDelegatingViewResolver. Nice!
  3. Martin Lippert's just announced the latest and greatest cuts of the Spring Tool Suite and Groovy/Grails Tool Suite (3.4.0) which feature - among many other things - support for following the Getting Started Guides on the home of Spring - Spring.io. These releases also see updated support for Grails 2.2.4, and tc Server 2.9.3.
  4. For more, check out the new & noteworthy. Both tool suites ship on top of the latest Eclipse Kepler SR1 release. The next version (3.5.0) is scheduled to arrive in March 2014, shortly after the Eclipse Kepler SR2 (4.3.2) release.
  5. Did you miss the amazing Platform CF conference? Don't fret, the videos of the show are trickling up online. Ashwin Kumar, a principal Software Engineer at Pivotal, did a great job introducing Pivotal HD as a Cloud Foundry Service. Pivotal HD is the world's fastest Hadoop distribution, leveraging the mature SQL query engine known as HAWQ.
  6. Not strictly Spring related, but there's a nice post on the GoPivotal blog on analyzing retail data using HAWQ and Madlib, the analytics (and machine learning!) engine originally part of Greenplum and now available to HAWK users. Nice post! This whole stack integrates nicely through Spring XD, of course, but even if it didn't, that's a really cool use case!
  7. Did you miss SpringOne2GX 2013? Check out the first night's keynote featuring Pivotal CEO Paul Maritz, Adrian Colyer, David Syer, Juergen Hoeller, Chris Beams and Edward Hieatt!
  8. Check out the replay of Param Rengaiah's webinar, Taming Coupling and Cohesive Beasts with Modularity Patterns and Spring!
  9. Are you looking for the downloadable .zip distributions for Spring? We'll make them easier to find on our new site soon, but in the meantime, simply visit the Artifactory repository and type in spring-framework in the search field. Dig a bit and you'll find it. This a more direct link.

This Week in Spring - October 1st, 2013

Engineering | October 02, 2013 | ...

Welcome back to another installment of This Week in Spring! There is, of course, lots to talk about so let's get to it.

If you're in the bay area, I'd like to invite you to the Silicon Valley Code Camp this weekend. I'll be giving two talks - one on building RESTful Services with Spring and the other on Improving Spring Java configuration muscle-memory with the amazing Phill Webb. Pivotal will also have a booth there, and we'd love to see you!

  1. Spring Data Arora SR3 has been released! The new release folds in Spring Data Commons 1.5.3, Spring Data JPA 1.3.5, Spring Data MongoDB 1.2.4 and Spring Data Neo4j 2.2.3. Nicely done, as usual, Oliver!

The Maven Dependency Dance with Spring Android, Spring Social and Spring Security

Engineering | September 17, 2013 | ...

Roy Clarkson (@royclarkson) and I gave a talk at SpringOne2GX 2013 in which we talked about building REST services with an eye towards consuming those services on mobile platforms like Android and iOS. This talk demonstrates the progressive evolution of an application using Spring MVC, Spring HATEOAS, Spring Data REST, Spring Security, Spring Security OAuth, and Spring Android. The code's benefited from a lot of help from Rob Winch,

Layout of the Code

The code for the talk is on my GitHub account (github.com/joshlong/the-spring-rest-stack). Importantly, the code lives in the code directory. Beneath that there are two choices: web (where you'll find the rest, hateoas, hateoas-data, and oauth, social modules) and client (where you can load the Android module and the iOS module). The modules in the web folder in respective order, demonstrate the evolution of a simple REST service which incorporates hypermedia, Spring Data repositories and OAuth security. The social

This Week in Spring - September 17, 2013

Engineering | September 17, 2013 | ...

This Week in Spring

Welcome back to another installment of This Week in Spring! I'm still reeling from last week. If you were there, you know what I mean, if not, then look forward to the videos coming out over the coming months. There's so much stuff to see.

For those of you who were at the show and sought me out because of This Week in Spring, it was really great to meet you all!

The world keeps on spinning of course, so let's look at some of what's happened this last week.

  1. Jennifer Hickey has announced that Spring Data Redis 1.1 has been released. The new release provides support for pipelining, data type conversion, and a modified API for adding or removing multiple List, Set, and Hash elements all in one call. Great stuff, check it out!
  2. AspectJ, Scala, Cloud Foundry, and Spring framework ninja Ramnivas Laddad has just announced the first cut of the Spring Cloud project, which in turn is a revolutionary API that takes the cloudfoundry-runtime library previously used with Cloud Foundry applications to the next level, opening the doors for support of multiple providers. Nice job, Ramnivas! And, dear community, if you want to see more, now's the time to check out the code and sound off!
  3. Over on the @GoPivotal blog, Stacey Schneider has put together a very nice post on her experiences at her first SpringOne2GX last week. Great read, and I echo her sentiments, even though this was not my first SpringOne2gx! :)
  4. Didn't get enough Data-love last week? Spring Data ninja Oliver Gierke just announced the latest cuts of two community modules: the first milestone of Spring Data Couchbase lead by Michael Nitschinger and the 1.0 GA of Spring Data Solr lead by Christoph Strobl.
  5. I put together a blog that introduces some of the things required to make the Spring Social binding that Roy Clarkson and I demonstrated last week at SpringOne2GX work with Spring Android, specifically as concerns the loading of certain classes in Spring core, Spring Security and Spring HATEOAS. Check it out!
  6. Groovy/Grails, and Spring, Tool Suite ninja Martin Lippert has just announced the latest iteration of STS and GGTS, versions 3.4.0.M1, has been released!
  7. Our pal Tobias Flohre is at it again, this time with two great SpringOne2GX wrapup posts. The first looks at some of the Spring XD, Batch and Hadoop technologies demonstrated, and the second looks at Spring Boot and the Spring IO platform.
  8. Rossen Stoyanchev, the genius behind the websockets support in Spring 4, has put together an amazing slate of demos using WebSockets and STOMP (which you can work with from RabbbitMQ!) and he showed these demos off last week at SpringOne2GX 2013 to wide acclaim. Nice job! If you missed it last week, at least check out the code, now.
  9. The Ippon.fr blog has a nice (French-language!) interview with my pal Eric Bottard, a (French-speaking) developer on Spring XD. Good read!
  10. The fine folks over at IntelliGrape have put together a nice roundup of their favorite talks from SpringOne2GX on day 2. Check it out!

This Week in Spring - September 10, 2013 - SpringOne2GX 2013 Edition

Engineering | September 10, 2013 | ...

Welcome to This Week in Spring, SpringOne2GX 2013 edition!

We're now in day 2 of the SpringOne2GX 2013 conference in Santa Clara, CA! Yesterday's keynote saw a lot of new exciting new announcements and introductions and I'll discuss some of those here, and then have subsequent coverage for the balance of the week.

Here, of course, is your abridged look at all that's glitters in the Spring community and (hurrayy!!) at SpringOne2GX 2013! With no exaggeration, this is the most exciting SpringOne2GX to date.

Some of the amazing Spring project leads at SpringOne2GX 2012

One of the things I most like about SpringOne2GX is the access it affords attendees to the brains behind the awesome. After tonight's keynote dinner a few of the project leads lingered a few minutes and took this impromptu photo for me. Spring core lead Juergen Hoeller is front-center, in the blue shirt. For what it's worth, Juergen doesn't actually tweet (the account is a placeholder!), which makes the opportunity to chat with him at SpringOne even more amazing! Going counter-clockwise, starting after Juergen, you then have Spring Security lead Rob Winch, Spring Mobile and Spring Android

This Week in Spring - Sept 3rd, 2013

Engineering | September 03, 2013 | ...

Welcome to This Week in Spring! SpringOne is almost upon us! It kicks off this weekend with the Cloud Foundry Platform event and continues on until next Thursday. I, personally, am very excited (and a bit nervous!) about this year's show. It's going to be so epic. Yesterday may have been a holiday here in the US (I hope you all enjoyed a wonderful holiday!), but most of us on the Spring team were working fast and furiously in preparation for SpringOne2GX!

My Road to SpringOne2GX 2013 the SpringOne2GX 2013 agenda looks soo good! I'm into a lot of different things like the open web (REST-powered architectures), big data, the cloud, and security and - at SpringOne - there's no reason I can't get my fill of each topic! Here are just some of the talks that I would love to see when I'm there.

  • Tackling Big Data Complexity with Spring with Mark Fisher and Mark Pollack. Does this one need any introduction? Spring XD leads Mark Pollack (Spring core contributor, Spring AMQP co-founder, Spring.NET founder, Spring Data and Spring Data for Hadoop lead) and Mark Fisher (Spring core contributor, Spring Integration founder, Spring AMQP co-founder) will introduce Spring XD, the most powerful way to build big data-centric applications today.
  • Build Your Very Own Private Cloud Foundry with the amazing Matt Stine. Matt's going to introduce how to setup your own on-premises Cloud Foundry instance using BOSH. Matt's a great speaker, a fantastic technologist, and I can't wait to see this talk.
  • Distributed rules engines and CEP with John Davies. John's the CEO of C24, and has got some incredible enterprise integration war-stories. The man's an epic speaker, too.
  • RabbitMQ is the new King with Jan Machacek and RabbitMQ Developer Advocate Alvaro Videla. Jan's a longtime Spring-guru and distributed systems guy, and Alvaro's the Pivotal RabbitMQ developer advocate (in the same way that I'm the Pivotal Spring developer advocate…). They're both sensational and I expect this one will be a wonderful talk.
  • Your Data, Your Search, Elasticsearch with Costin Leau. Costin worked on, among many things, the original Spring Cache integration with Spring core, Spring Data GemFire, Spring Data itself, the OSGi support in Spring DM server (years ago), and a lot more. He's now working with Elasticsearch, and I can't wait to hear his perspective. Costin's really good at taking complex topics and distilling their essences.

I have four presentations (with amazing co-presenters!) this year. Andy Piper and I will present on building Spring and Cloud Foundry-powered applications. Roy Clarkson and I will present on using Spring and REST to connect applications, Kevin Nilson and I will present on using Spring and profiles to build applications that adapt and Phil Webb and I will present on how to improve your Java configuration muscle memory.

I look forward to seeing you guys at SpringOne2GX! Ping me on Twitter (@starbuxman) if you're around and let's talk Spring!

And now, on to this Week's Roundup! Hopefully, this will sate your appetites until SpringOne2GX! :)

  1. Spring Scala lead Arjen Poutsma has just released Spring Scala 1.0.0.RC1. The new release is the first release candidate in the release cycle, towards a 1.0 release, so definitely check it out!
  2. Join our friends from Pivotal Labs as David Frank shows you How to Get Agile with Pivotal Tracker, on September 5th.
  3. Join Phil Webb as he dives into the one of the newest, hottest projects in Spring - Spring Boot on September 26th.
  4. Jan Stenberg put together a nice post on Russ Miles' Life Preserver pattern as used with Spring. The post is a little light on code, but you can check out the original presentation to get the details!
  5. The JavaBeat blog has a really detailed post on how to use Spring's @Tranactional annotation.
  6. Eugen Dvorkin has a nice post on how to use Storm, Groovy, a CEP engine and Spring together. This is really cool, although there's not a lot of code. I also wonder if this could've been done in a simpler way using Spring XD, though.
  7. Spring web-ninja Arjen Poutsma, and author of the original RestTemplate, has been hard at work on an asynchronous RestTemplate to be included in Spring 4. Looking awesome.
  8. Luis Miguel Gracia Luis has put together a nice post that introduces some of the great new stuff coming for Spring developers since the Spring team became part of Pivotal, including Spring XD, Spring Boot, Spring Loaded and Spring REST Shell. The post is Spanish language, but Google Translate does a fairly good job.
  9. Rajkumar Singh has put together a nice post - Apache Hadoop and Spring Data : Configuring mapreduce Job - that introduces Spring for Apache Hadoop. Great post!
  10. The Bluesoft blog has the second post in a series on using Angular.js with Spring MVC to build a login dialog. This is getting good…
  11. The Technicalpractical blog has a post, Display Model As JSON or XML using Spring. The post does a fine job introducing how to put together a JSON view using Spring MVC 2.5-era APIs, but I hope you'll check out some more recent introductions to building JSON-centric REST services with Spring. Here's a (much) simpler example.

This Week in Spring - Aug 27th, 2013

Engineering | August 27, 2013 | ...

Welcome back to another installment of This Week in Spring. We have a lot to cover, as usual! Spring Security and lead Rob Winch feature heavily in this week's roundup! So, cheers to Rob Winch!

  1. Spring Security lead Rob Winch put together a post introducing some of the new, smart and convenient protection in Spring Security against cross-site request forgery (or CSRF).
  2. Rob also put together another epic blog post that demonstrates some of Spring Security's new support for security headers.
  3. Rob was also kind enough to integrate these new features into the Spring REST stack codebase where you can see them in action in the context of a full-stack, integrated Spring REST service. To see these changes, along with Spring Security and Spring Security OAuth, all integrated using Java Configuration, check out the oauth module.
  4. Reactor lead Jonathan Brisbin has announced Reactor 1.0.0.M2 is now available. The new release looks very exciting! From Jon's writeup: "This 2nd milestone includes a number of bugfixes and some really exciting new features. Reactor now includes a Processor abstraction, which is a highly-optimized task processor based on the LMAX Disruptor RingBuffer… Anecdotal benchmarks on a MacBook Pro show the Processor can pump around 100,000,000 events per second through the pipeline. Yes, you read that right: 100 million per second!"
  5. Hyperic, Cloud Foundry, Spring and Spring Data ninja Jennifer Hickey has announced the latest cut of the Spring Data Redis project. The new release includes support for millisecond precision in key expiration commands, resubscription of message listeners on connection failure, a full implementation of ConcurrentMap contract in RedisMap and RedisProperties
  6. Spring Batch lead Michael Minella has announced Spring Batch 3.0M1 has been released! This release marks the first steps towards implementing the JSR-352 Java Batch specification, among other things.
  7. Register now for the Aug 29th Webinar: Taming Coupling & Cohesive Beasts with Modularity Patterns and Spring with Param Rengaiah.
  8. Join our friends from Pivotal Labs as David Frank shows you How to Get Agile with Pivotal Tracker, on September 5th.
  9. Spring Security lead Rob Winch tweeted, "#Gradle made it dead simple to build #SpringSecurity with #SpringFramework 3 and run tests with both #Spring 3/4," and linked to this epic example. This isn't strictly speaking Spring related post, but it's a nice example of a really elegant Gradle build, for those who also work with it, as we do at SpringSource.
  10. Spring Security lead Rob Winch (boy, that guy sure gets around!) also announced the latest release of Spring Security LDAP.
  11. Our pal Xavier Padró is back, this time with a post introducing how to use resource-local JMS transactions on message receipt with Spring's JmsTemplate.
  12. Patrick Grimard's put together a nice post on integrating Yeoman Backbone with a Spring web application, as well as a way to sidestep some issues he was having with resource resolution by using Tuckey’s UrlRewriteFilter. Now, I like the UrlRewriteFilter. That said, I think (but haven't tested..) that Patrick could've accomplished the same thing using Spring MVC resource handling support, as he starts to do in an example in the code when overriding the public void addResourceHandlers(ResourceHandlerRegistry registry) configuration method. Perhaps I'm mistaken, and either way, cool post!
  13. SpringSource has released new trainings to the Q3 schedule, check out the training schedules for: Core Spring, Enterprise Integration with Spring and Spring Web.