Hi Spring fans and welcome to another action-packed installment of This Month in Spring! And what a month it's been! Your humble host has been around the globe and back in search of the perfect post and the perfect audience for that post. It seems like, on every day and in every way the posts only get better and better! These are the best kinds of problems!
In between post perusing and content collecting, I have continued my journeys to the ever-awesome, ever-enthusiastic, ever-amenable, ever-appreciative, and ever-inspiring audiences of Springdom.
A lot has happened since we last talked. I visited Manchester, UK, for an appearance at the Manchester JUG, before heading to London for customer visits and the epic Devoxx UK event. Then it was off to Denver, CO, for the SpringOne Tour event. I've also been to beautiful Kiev, Ukraine, to present at the epic JEEConf; Dublin, Ireland, and Belfast, Northern Ireland, to meet with a few amazing Pivotal customers (like Liberty), and bella Barcelona, Spain, for the Spring I/O conference.
After a restive 48 hours in San Francisco, I travelled to sunny St. Louis, MO, for the epic Spring One Tour St. Louis event, before setting course to Singapore for the Voxxed Singapore event. Next, I'll be in New York for the Spring One Tour NYC event; the Netherlands for customer visits; London for the SpringOne Tour London event; Paris, France, for the JHipster 5 Conference; Krakow, Poland, for Devoxx PL; São Paulo, Brazil, for Spring Connect; Egypt for more customer visits; and then it'll be July.
If you're in any of theses regions (or anywhere, really): reach out! I'd love to hear from or see you!
As you might imagine, given that Spring time is well underway in the northern hemisphere, we've got a lot of great stuff to cover so let's get to it!
- Hi Spring fans! In this Spring Tips we look at the Apache Camel enterprise integration framework and its integration with Spring Boot
- Don't miss Spring Cloud Stream lead Oleg Zhurakousky's June 7 webinar on the latest and greatest in Spring Cloud Stream
- Do you really need any more reason to go to SpringOne Platform? Do not miss this compelling invitation from Reactor project lead Stephane Maldini!
- Check out the latest and greatest support in the Cloud Foundry CLI
- Check out the latest in Cloud Foundry's container networking support
- Spring Data ninja and Redis-driver Lettuce maintainer Mark Paluch has a nice post on using Redis Streams with Java
- This is an interesting post on using Spring Cloud and Kubernetes and Jenkins X.
- Oleksandr Slynko has a inspiring post on the hope of using Kubernetes with Cloud Foundry, based on Alexis Richardson's CNCF 20-20 Vision track talk
- Assemberl, a small library to efficiently assemble results from querying, or merging of external data sources, or aggregation of microservices, is now at 0.0.5. It offers a fluent DSL that uses Reactor. It was designed as a very lightweight solution to resolve the N + 1 queries problem when aggregating data, not only from database calls (e.g. Spring Data JPA, Hibernate) but from arbitrary data sources (relational databases, NoSQL, REST, local method calls, etc.)
- Gerit Meier's slides on Spring Data Neo4j, from Spring IO 2018, are now up. Neo4J is a graph-database that's amazing at all sorts of modeling.
- The slides from Spring Data lead Oliver Gierke's talk on "REST design beyond the obvious", from Spring IO 2018, are now available
- The slides from Mark Pakuch's Spring IO 2018 talk, "Under the Hoods of Reactive Data Access", are now available.
- The slides from Reactor ninja Simon Basle's Spring IO talk, "Flight of the Flux," are now available
- This is an oldie-but-a-goodie; it's Spring web-dude Rossen Stoyanchev's comparison of Servlet and reactive web programming in Spring Framework.
- Ben Wilcock has a fabulous infographic that looks at both Kubernetes and Pivotal Cloud Foundry and how and why they're both awesome.
- Have you booked your tickets for the SpringOne Tour 2018 London event?
- This tweet is good news: preliminary Micrometer support's been merged into Project Reactor; this means better instrumentation for your reactive workloads!
- Submit your talks in the Cloud Foundry Europe CFP; the CFP closes soon!
- Deepak Kumar has a nice post that explains "everything you need to know about.. RabbitMQ"
- Devops legends John Willis and Gene Kim have a new audiobook out, "After the Phoenix Project," that is about eight hours of conversation between them on all manner of different topics. This is a must listen for those trying to contextualize their organization's path to production
- I liked Pivotal SVP Onsi Fakhouri's explanation of how we help our customers continually iterate towards value for their customers
- We now have OIDC Provider Configuration support in Spring Security Master. Awesome!
- Be sure not to miss this webinar on what's new in Spring Cloud Stream, June 7th, from Spring Cloud Stream lead Oleg Zhurakousky
- Over on the Pivotal blog asks: "Should that be a microservice?" and gives six factors to keep in mind when making the call and cut.
- Do you really need any more reason to go to SpringOne Platform? Do not miss this compelling invitation from Reactor project lead Stephane Maldini!
- Visualize and Monitor your Pivotal Cloud Foundry Deployments with Weave Cloud for PCF
- Spring Data JDBC now has support for
@Columnannotations thanks to @kazuki43zoo
- Spring Data lead Oliver Gierke announced that we're extending Spring Data's JavaSlang integration with support for
Tryas query method return value, and encourages us to give the bits a, well, ..try
- Spring Data legend Christoph Strobl has just announced Spring Data Lovelace M3 which includes, among other things, revised documentation, annotation based auditing for the JDBC module, synchronous and reactive transaction support in preparation for the MongoDB 4.0 release, reactive map/reduce abstractions for MongoDB, enhancements to the Lucene index support in Spring Data Gemfire and for Apache Geode, reactive pub/sub for Spring Data Redis, Kotlin extensions for Spring Data Cassandra, driver upgrades for Gemfire 9.5, Apache Geode 1.6, Lettuce 5.1 (M1), MongoDB 3.8 (beta2), MongoDB Reactive Streams 1.9 (beta1) and Cassandra 3.5, and so much more!
- Spring Cloud Data Flow lead Dr. Mark Pollack has just announced Spring Cloud Data Flow 1.5, which includes UI Improvements,
Spring Boot 2.0, Spring Cloud Stream 2.0, and Spring Cloud Task 2.0 Support, updated application starters, metrics Improvements, nested splits for composed tasks, Kubernetes improvements, and updated File Ingest samples, and so much more!
- Hi Spring fans! In this installment of Spring Tips, I looked at Project Riff and Spring Cloud Function, a one-two punch for serverless function-as-a-service applications. Project Riff is a FaaS platform from Pivotal and Spring Cloud Function makes writing portable, Spring Boot-aware functions for a number of different platforms as easy as possible.
- What happens inside a Spring Data reactive driver, and how is data accessed in a reactive setting? Learn more from Spring Data ninja Mark Paluch's talk "Under the Hood of Reactive Data Access", now on InfoQ.
- RabbitMQ 3.7.5 is out!
- Daniel Mikusa has a nice post walking us through how to install Wordpress on Cloud Foundry. This isn't to do with Spring, per se, but it does demonstrate how to get a fairly complicated application onto the platform
- The "Devskiller" blog has an awesome post on testing REST and messaging-based microservices with Spring Cloud Contract
- Microsoft have just unveiled the Application Insights starters for Spring Boot
- Spring Integration and Spring for Apache Kafka lead Gary Russell offers an official "pro-tip"!
- The 2.0.0.GA release of Spring Boot Admin has just dropped! The new release has a ton of nice features so do check out the release while you can! NB: the support for discovery of other services through the
DiscoveryClient, which hinges on the not-just-yet GA Spring Cloud Finchley release, has been kept out of this release and will release when the final version is available. Anyway, get the bits while they're hot!
- This looks interesting! It's a Spring RESTDocs snippet implementation that produces importable Postman collections.
- InfoQ have Pivotal and Spring legends' Sannidhi Jalukar and Madhura Bhave's talk on doing TDD for a Spring Boot application using Boot annotations and utilities and dealing with DB queries, caching, reactive programming. Awesome talk and well-worth a watch!
- Flowable is an open-source BPMN engine that integrates nicely with Spring Boot. Flowable project engineer Tijs Rademakers just announced that "Flowable 6.3.1 has been released with enhanced historic information and pluggability options for the CMMN Engine, a new app engine to support the life cycle of apps within Flowable, improved Spring Boot 2.0.2 support and more"
- This is an interesting post on using Apache Camel with Spring Cloud Stream
- I really enjoyed this post that begins to look at an application to support forget-me functionality in a Spring Integration-based application, in the context of the new GDPR regulations in the European Union.
- Bogdan D has a nice post on using Toggles, a feature-toggle library, with Spring Boot.
- This looks promising! It seems support for the Micrometer metrics facade has just landed in Project Reactor!
- Spring Boot ninja Stéphane Nicoll reveals an interesting new Actuator feature in Spring Boot 2.1 supporting caches
- Pretty cool to see Spring Test lead and JUnit lead Sam Brannen's poetry included in Java Architect Mark Reinold's talk on the state of Java in 2018
- This is a sample Spring Boot application that uses different data sources for reads and writes
- Codecentric's Chaos Monkey for Spring Boot is a really interesting project
- Okta Developer Advocate Matt Raible just debuted updates to Spring Boot 2.0 for his videos looking at building microservices and securing microservices with Spring
- "Mr. Devoxx," Stephan Janssen, founder of Devoxx, has a great talk introducing his team's journey to revamp a Devoxx property using Spring Boot and JHipster. Check it out!
- Are you registered for the SpringOne Tour London event? Do not miss this!
- Spring Tool Suite lead Martin Lippert has just announced the latest update of the Spring Tools Suite 4 public beta (milestone 11) including, among other things, performance and memory improvements, support for Java 10, and that Webflux handler method code lenses now work in Eclipse.
- Check out this Micrometer extravaganza webinar from Micrometer lead Jon Schneider
- I love this new guide on building Spring Boot applications with Kotlin
- Do you want to generate Spring REST Docs from Spring Cloud Contract DSLs? Check out how to specify a proper base class here
- Brian McClain has a nice post on speeding software development using build pipelines and Concourse CI
- Christoph Stroble has debuted transaction support in Spring Data MongoDB's reactive module. Take a look!
- Spring Security lead Rob Winch has also debuted the new reactive Spring Security OAuth support in 5.1.0.M1. Try it out now!
- Want to reduce the startup time footprint for Spring applications? Check out this Java processor that generates an index of components in a given `.jar that the runtime can use to short circuit the component scanning process.
- Spring and Kotlin ninja Sébastien Deleuze debuts the aforementioned tutorial on using Spring Boot and Kotlin
- Spring IO Platform lead Andy Wilkinson has just announced Spring IO Platform Cairo SR1
- Never one to rest on his laurels Andy Wilkinson has also just announced Spring IO Platform Brussels SR10
- Dr. Mark Pollack has just announced Spring Cloud Data Flow 1.5 RC1 has been released. The new release features an improved dashboard, updated application starters, and a greatly refined Kubernetes Server
- Spring web ninja Rossen Stoyanchev has just published information on a few new CVEs - these are strongly recommended updates!
- Hi Spring fans! In this installment of Spring Tips we look at the OAuth support in Spring Security 5.0. I'm happy to report that similar support is now available in Spring Security 5.1 for reactive REST services, as well.
- Spring Boot legend Andy Wilkinson has just announced Spring Boot 2.0.2. The release includes over 80 fixes, improvements, and dependency updates.
- Spring Boot legend Andy Wilkinson has just announced Spring Boot 1.5.13, which is itself chock-full of updates and new dependencies.
- Joe Grandja, lead developer of the Spring Security OAuth efforts, has just announced Spring Security OAuth 2.3.3, 2.2.2, 2.1.2, and 2.0.15
- Spring Session and Spring Security lead Rob Winch has just announced Spring Session Apple SR2. The new release includes an update to the core module and support for Spring Session for Apache Geode
- Spring Security lead Rob Winch has just announced Spring Security 4.2.6
- New Spring Security team member Josh Cummings (welcome aboard Josh!) has just announced Spring Security 5.0.5
- Check out the SpringOne Platform 2017 talk by Arjen Poutsma on the new functional web framework in Spring Framework 5
- This Japanese language post relays the news that Fujitsu and Pivotal has partnered to deliver agile solutions
- Tom Hombergs put together a nice post on "Consumer-Driven Contracts with Pact, Feign and Spring Data REST"
- Check out Brian Clozel's epic SpringOne Platform 2017: "From Zero to Hero with Spring Boot 2.0."
- Zoltan Alfatter looks at using the Spring Boot Admin with service registration and discovery and Spring Cloud's
- Spring Boot has had support for "thin"
.jarartifacts for a while. Thin jars are Spring Boot
.jars that declare their dependencies and then dynamically download those dependencies at runtime. The result is smaller artifacts that can be more readily stored in artifact repositories with the tradeoff that startup take can be dramatically extended, especially on first run. The startup cost isn't such a big deal except on cloud platforms which a) might not know what to do with such an artifact and b) might try to kill the application for failing to respond to a health check after launch within a certain threshold. Cloud Foundry, on the other hand, has no such limitations, as this epic tweet shows
- Did you miss last week's webinar introducing all things new and shiny and reactive in the upcoming Spring Cloud Finchley
- I loved this panel on the state of Java and Spring at Microsoft's Build conference
- You might like this oldie-but-a-goodie from Oracle's Java Magazine in which I introduce reactive Spring applications
- This tweet is just a friendly reminder that reactive type-safe Spring Boot applications in Kotlin are both concise and expressive
- I really liked Piotr Mińkowski's blog post on microservices with Spring Boot 2.0 and Spring Cloud](https://dzone.com/articles/quick-guide-to-microservices-with-spring-boot-20-e)
- This is an interesting post on how to develop Amazon Alexa skills with Spring Boot - nice!
- Want to learn more about the Pivotal function-as-a-service, Project Riff? Check out this amazing post by our very own Mario Gray
- Mario's not one to rest on his laurels! He also has a nice post on distributed tracing with Spring Cloud Sleuth and Zipkin
- This post from Keyhole Software looks at the different ways to configure applications with Spring Boot profiles
- Our very own Neven has a nice post that looks at porting stateless applications to Cloud Foundry
- The Kotlin Expertise blog has a very nice look at building reactive Spring WebFlux applications with Kotlin
- I just want to recognize Spring Security lead Rob Winch for getting the reactive OAuth support in Spring Security 5 working so quickly. The work was not easy but it's so worth it! Thank you Rob! It allowed Okta's Matt Raible and I to demonstrate it in Denver at SpringOne Denver yesterday and it was awesome! Also, thanks Matt for co-presenting with me on short-notice and bringing the OAuth and security win!
- Dr. Mark Pollack has just announced Spring Cloud Data FLow 1.5 RC1
- StubHub have bet big on Pivotal Cloud Foundry and Google Cloud. Learn how in this TechCrunch article
- Rafał Głowiński has a nice post on using Spring @WebMvcTest with Spock Framework
- Check out this step-by-step guide on using Spring Cloud Pipelines with Cloud Foundry
- InfoQ have posted my SpringOne Platform 2017 talk on "Programmatic Bean Registration with Spring Framework 5.0"
- Missed an installment of This Week in Spring? Well, have no fear there's now a monthly aggregation of the weekly aggregation! Here's the April edition
- Dormain Drewitz swoops in for the kill with this epic announcement: Pivotal and Confluent are teaming up to make Pivotal's Kubernetes environment, PKS, the best place to run Confluent Kafka
- Spring Framework luminary Stéphane Nicoll just announced Spring Framework .3.17 and 5.0.6
- Spring Data legend Mark Paluch just announced the release of Spring Data Ingalls SR12 and Kay SR7. These releases are, as usual, packed with new releases!
- Spring Batch and Spring Cloud Task lead Michael Minella has just announced Spring Cloud Task 2.0.0.RELEASE. The new release updates dependencies, supports restricts concurrent task execution, and refined behavior when a failed batch job execution fails a task.
- The Pivotal blog looks at state management with Spring Session.
- In this installment of Spring Tips, I looked at using the new metrics collection facade Micrometer in the Actuator in Spring Boot 2. Check it out!
- BOSH is an abstraction layer that lets you describe immutable infrastructure in a IaaS-agnostic way. There are BOSH providers for AWS, GCP, Azure, OpenStack, VSphere, and a zillion other service providers. Cloud Foundry, which is optimized for the management of applications, builds on top of BOSH. This allows for its unparalleled portability. Now, there is a Kubernetes BOSH CPI. This is very promising!
- The New Stack looks at T-Mobile's ushering in of 5G with Tibco and CloudFoundry
- Check out senior Spring fan Matt Raible's "The Hitchhiker's Guide to Testing Spring Boot APIs and Angular Components with WireMock, Jest, Protractor, and Travis CI" over on the Okta blog.
- Pivotal Principal Technologist Jim Weaver looks at reactive programming with this amazing demo.
- I love this post! It's got nothing to do with Spring, but you'll probably want to read it if you're an aspiring cloud-native. It's a post from folks at Pivotal on the soft touch reconfigurations that they made to the use of public cloud IaaS resources to save as much as $675,000 per year.
- The Swisscom blog looks at the power of buildpacks. Buildpacks stage an environment for a particular type of application workload that then gets turned into a container that then is run on a platform like Heroku or Cloud Foundry
- The Baeldung has a nice post that looks at the
Assertclass in Spring Framework. Short and sweet!
- This E4Developer blog looks into Spring Data and its various applications in the world of microservices.
- This isn't related to Spring, per se, but it's interesting; it's a post on the jOOQ blog that looks at the different ways to reflectively access default methods on interfaces in Java 8, 9 and 10.
- Community comrade Michael Simons does a nice job introducing reactive Spring in this German language post
- Pivotal Principal Technologist Mario Gray looks at websockets, complete with a Spring-based demo. This is well worth a read and bookmark!
- Pivotal Principal technologist Jakub Pilimon has put together a nice post on testing distributed message-driven applications with Spring. It iterates, starting from the lowest level primitives in Spring's messaging support and then moving to Spring Cloud Contract. This is an awesome post - read it!
- Community patron Nicolas Frankel has a nice post on checking the quality of Kotlin code with Detekt and SonarQube. If you're a Spring devloper writing your code in Kotlin, you might like this.
- Speaking of testing messaging code, Clinton Magro put together Spring Boot autoconfiguration and starter that lets you embed the Qpid AMQP-compatible broker for, among other things, ease of testing
- Piotr Szybicki looks at performance testing Angular and Spring applications secured with Keycloak using Gatlin. This is the first of two worth-a-read posts.
- The Java Mission Control application - your one-stop-shop for debugging and diagnostics of Java applications that has historically shipped in Oracle's JDK - is now open source! Hurray!
- Spring Data's Christoph Strobl teased some of the new transaction support in Spring Data MongoDB
- Last week Pivotal and Confluent announced a partnership to bring Kafka to Pivotal's Kubernetes environment and I hope you'll forgive my indulgent reminder that you'll probably love this oldie-but-a-goodie Spring Tips video on Spring Cloud Stream and Kafka Streams
- Microservices thought leader (I'm not being ironic!) Daniel Bryant has put together a table that looks at the steps to cloud-native for both developers and platforms
- Rajagopal ParthaSarathi looks at parallel processing with Spring Batch
- This is pretty cool - the Oracle Devs blog has a nice post on distributed tracing infrastructure with OpenZipkin, Apache Kafka, and Apache Cassandra. It even uses Spring!
About the Author
Josh Long is a Spring Developer Advocate at Pivotal. Josh is a Java Champion, author of five books (including O'Reilly's upcoming "Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry") and three best-selling video trainings (including "Building Microservices with Spring Boot Livelessons" w/ Phil Webb), and an open-source contributor (Spring Boot, Spring Integration, Spring Cloud, Activiti and Vaadin).Follow on Twitter More Content by Josh Long