Performance has always been one of the top priorities of the Spring Engineering team, and we are continually monitoring and responding to changes and to feedback. Some fairly intense and precise work has been done recently (in the last 2-3 years) and this article is here to help you to find the results of that work and to learn how to measure and improve performance in your own applications. The headline is that Spring Boot 2.1 and Spring 5.1 have some quite nice optimizations for startup time and heap usage. Here’s a graph made by measuring startup time for heap constrained apps:
Hi Spring fans! In this installment of Spring Tips we look at how to use Spring to work with infrastructure on the Google Cloud Platform (GCP) speaker: Josh Long
Hi Spring fans and welcome to another installment of This Week in Spring! This week I’ve been in Seattle, WA and now I’m off to Toronto, Canada for the epic SpringOne Tour Toronto edition, the last SpringOne Tour for the year, too! (Can you believe we’re now less than 22 days from 2019? Time sure flies when you’re having fun!) Spring Tips is back! And what a season have we planned for you! Last week we introduced the first new video, this one looking at the Spring support for Microsoft Azure. As always, you can see the whole playlist at the Spring Tips YouTube Playlist and you should check back on this very blog every Wednesday for the next few months for new installments. Spring Data Moore M1 released Spring REST Docs 2.0.3.RELEASE Spring REST Docs 1.2.6.RELEASE RabbitMQ Best Practices Reactive Programming and Relational Databases Spring IO Platform Cairo-SR6 Spring Tools 4.0.2 released I liked this StackOverflow question and the subsequent answer from JUnit 5 and Spring Test Framework lead Sam Brannen on how to get the effect of @IfProfileValue in a JUnit 5-based Spring application test This new change to OpenZipkin supporting correlation of events in the Java Flight Recorder looks very interesting, wouldn’t you say? Any “thumbs up” are appreciated! Speaking of Zipkin, it just passed a big milestone: the 10,000th person to star Zipkin on Github! Check out this cool feature that makes your Spring Cloud Gateway filters aware of things like path variables This looks like it could be an interesting video on Spring transaction management Baeldung has a nice post on debugging Reactive Streams in Spring 5 Knative momentum continues, hits another adoption milestone Want to learn more about testing Spring applications? Check out my vJUG talk from a few months ago The first commerically supported tracing tool to support Zipkin-formatted data with zero changes, natively, has just been announced: Codecentric’s Instana Pivotal have a nice whitepaper on supersonic application development and delivery with Spring Boot and Pivotal Cloud Foundry Want to use RabbitMQ in a reactive context - and why wouldn’t you? Now you can! Reactor RabbitMQ 1.0.0 GA is released! Not stricly related to Spring, but interesting nonetheless: a non-exhaustive but interesting list of JDBC Driver Connection URL strings Auth0 have a nice Spring WebFlux tutorial Check out, and feedback, on the new Spring Data Kotlin extension! Pivotal announces new serverless framework - Pivotal Function Service Demystifying Tracking Event Processors in Axon Framework Speaking of Axon, here’s a nice (albeit slightly older) Italian-language post on CQRS with Spring and Axon, or CQRS con Spring e Axon The design process is an iterative one. “The most deadly thing in software is the concept.. that you are going to specify what you are going to do, and then do it.” - that from a 1968 NATO Software Engineering Conference! This Stackoverflow question, “Why Java takes much more RAM than -Xmx?”, is well worth a read. Spring Tools 4.0.2 released, grab the latest This project, demonstrating Spring Boot 2, GraphQL, Angular and more, might be helpful if that’s a usecase you have Again, not strictly speaking related to Spring, but this is interesting. It’s a look at Java startup time from Java 8 through Java 11 JaVers 5.0.0 has been released. This major release makes JaVers fully compatible with Spring Boot 2.1 and Spring Framework 5.1. JaVers is a framework to support auditing objects. Grails 3.3.9 released with GORM 6.1.11, Spring Boot 1.5.18, Spring 4.3.21.RELEASE
On behalf of the Spring Data team, I’m pleased to announce the availability of the first milestone of the Moore release train. Notable changes include: Support for Streamable wrappers as query method return types. Additional Kotlin extensions like CrudRepository.findByIdOrNull(…). A Kotlin query DSL for MongoDB (special thanks to Tjeu Kayim) Gemfire & Apache Geode upgrades. Spatial type support for Neo4j. Elasticsearch REST and (initial) reactive client support. Support for Redis Streams. …and tons of new stuff for Spring Data JDBC.
It’s my pleasure to announce that Spring REST Docs 2.0.3.RELEASE is available from Maven Central, JCenter, and our release repository. My thanks to everyone who contributed to this release by reporting bugs and opening pull requests. This maintenance release includes a small number of fixes and documentation improvements. It is a recommend upgrade for all Spring REST Docs 2.x users. GitHub | Issues | Documentation | Twitter | Gitter | Stack Overflow
It’s my pleasure to announce that Spring REST Docs 1.2.6.RELEASE is available from Maven Central, JCenter, and our release repository. My thanks to everyone who contributed to this release by reporting bugs and opening pull requests. This maintenance release includes a handful of bug fixes and documentation improvements. It is a recommend upgrade for all Spring REST Docs 1.x users. GitHub | Issues | Documentation | Twitter | Gitter | Stack Overflow
Imperative code eats threads at the pace of incoming requests while Software is eating the world. This post discusses the assumptions for reactive programming on the JVM and what this means for integrations – in particular, relational databases. The motivation to come up with a post is the constant increase in reactive programming adoption while some major building blocks are not yet available – in particular, the question: What about relational databases? What is Reactive Programming There are a lot of answers about what Reactive Programming is and how this compares to Reactive Systems. I see Reactive Programming as a programming model that facilitates scalability and stability by creating event-driven non-blocking functional pipelines that react to availability and processability of resources. Deferred execution, concurrency and asynchronicity are only a consequence of the underlying programming model.
I am pleased to announce that Spring IO Platform Cairo-SR6 is now available from both repo.spring.io and Maven Central. This maintenance release upgrades the versions of a number of the projects in the Platform: Reactor Bismuth-SR14 Spring AMQP 2.0.10 Spring Boot 2.0.7 Spring Cloud Connectors 2.0.4 Spring Data Kay-SR12 Spring Framework 5.0.11 Spring Integration 5.0.10 Spring Kafka 2.1.11 Spring Security 5.0.10 Spring Session Apple-SR7 The versions of a number of third-party dependencies have also been updated.
Dear Spring Community, I am happy to announce the 4.0.2 release of the Spring Tools 4 for Eclipse, Visual Studio Code, and Atom. Highlights from this release include: (Spring Boot) CTRL-CLICK navigation from application.properties and application.yml to Java (Spring Boot) Improvements to ‘Goto Symbol’ and ‘Live Hover’ for functional style WebFlux request mappings (Spring Boot) Support for Spring Boot log groups in properties and yaml editor (Spring Boot) Various bug fixes (Eclipse) Boot launch config editor ‘override properties’ now uses full-featured embedded properties editor
Hi Spring fans and welcome to another installment of This Week in Spring! Today I concluded my brief time in Paris, France, for the epic SpringOne Tour event and I’ll be off to Milan, Italy, in about 12 hours where I’ll be speaking at the Milano JUG Wednesday night. Ci saro presto, Milano! Tomorrow we’ll have the first installment of season 5 of Spring Tips available so be sure to check this space soon and every Wednesday until we’ve exhausted all 11 episodes! There’s a lot to love in the new Spring Tool Suite 4 release! Spring Session Bean-SR1 and Apple-SR7 Released Spring Boot 2.1.1 available now Spring Boot 2.0.7 available now Want to learn the ways that Pivotal Cloud Foundry supports you on Amazon Web Services (AWS)? Spring IO Platform Brussels-SR15 Spring Security 5.1.2, 5.0.10, 4.2.10 Released Spring Boot 1.5.18 available now Check this out! This Month in RabbitMQ, Dec 4, 2018 Check out these new Spring Security first-timer issues. I dig Maciej Walkowiak’s walkthrough of developing complete reactive Spring applications with Spring WebFlux, Spring Data Redis, Test Containers, Lombok and of course Spring Boot Matt Raible’s published the slides from his “Bootiful Development with Spring Boot and Vue” talk this evening. Not stricly speaking related to Spring, but still interesting. It’s a French-language post on observing Java applications with Metricbeat and Jolokia over on the Elastic blog This is an oldie-but-a-goodie over on JavaWorld: mastering Spring framework 5, Part 2: Spring WebFlux | JavaWorld Nice article offering insights on tuning an Apache Camel application deployed into Spring Boot over on the JBoss Middleware blog. I love these Chinese-language videos on using project Reactor I love Spring Framework lead Juergen Hoeller’s SpringOne Platform 2018 presentation, Spring Framework 5.1 on JDK 8 & 11, now up on InfoQ Be sure to not miss Ben Hale, Mark Paluch and Ryland Degnan’s upcoming webinar on R2DBC and RSocketIO on Dec 6 This is a nice post on customizing error responses in a Spring Boot application Don’t miss the upcoming webinar on continuous delivery to the cloud with Spinnaker Yet another epic installment of the Talking Kotlin podcast on monitoring applications with Micrometer’s own Jon Schneider The Spring team’s epic Greg L. Turnquist has been busy pruning a lot of relics from the Spring guides from the old pre-1.0 days of Spring Boot Expedia have a nice UI, Haystack, that can be paired with Zipkin. Cool! Vladimír Oraný has a nice 10-part series on writing builder style DSLs in Apache Groovy. The Baeldung blog has a nice post on testing in Spring Boot Check out the JHipster Kotlin 0.6.0 support This is a prettu epic post on getting started with Spring Boot, JOOQ, Flyway, and ModelMapper on the Cantina blog Riff v0.2.0 is now available This post - which looks at dynamic Flow Control during Backpressure with RxJava and RSockets - also maps nicely to Reactor concepts.