The Spring Blog

Engineering
Releases
News and Events

Webinar Replay: Improving your (legacy) Application with Spring

Speaker: Marten Deinum

Slides: https://speakerdeck.com/mdeinum/improving-legacy-applications-with-spring

Source Code: https://github.com/mdeinum/legacy-app

Spring has been around since the release of “J2EE Design and Development” in 2002. Spring and Java have evolved quite a bit since that time. In those years a lot of applications have been developed. All those "legacy" applications that are around have proven their value and that is why they lasted. In this session we will explore how we can improve our legacy applications by doing some refactoring or redesign (component based development) but also by introducing (newer) Spring IO technologies.

Read more...

Spring Integration 4.2 Milestone 1 is Available

We are pleased to announce that the first milestone of Spring Integration 4.2 is now available (4.2.0.M1).

This release includes:

  • A significant overhaul of the JMX support in the framework, providing performance and other improvements when JMX is enabled
  • A preview of STOMP client-side channel adapters based on the support in Spring Framework 4.2
  • A mongodb metadata store
  • @SecuredChannel annotation
  • Conditional Pollers - the polling interval can be adjusted dynamically, based on the results of the current poll
  • Cross Origin Resource Sharing (CORS) support in the http inbound gateway
  • Many internal improvements
Read more...

Webinar: JSTL to Thymeleaf: Transitioning Your Template

Speaker: Phil Dutson, ICON Heath and Fitness

Thymeleaf is a fantastic template engine that can help you create sites faster and get code shipped. There exists however a problem, using th e template engine requires a mind-shift in how to get "normal" tasks accomplished. This leaves many developers in the lurch and frustrated. In this talk I will cover the common pitfalls that developers can avoid and give examples on how to solve the common problems encountered when switching from the venerable JSTL to Thymeleaf.

Read more...

Webinar: CI on the Cloud with Jenkins, Spring and Cloud Foundry

CI on the Cloud with Jenkins, Spring and Cloud Foundry

Speaker: Jamie O’Meara, Pivotal

This presentation will highlight an integrated development process that involves Spring code built with CloudBees Jenkins Enterprise and deployed to CloudFoundry. A software lifecycle of continuous delivery from source code control (Git) to Jenkins build (Maven and Gradle) to live deployment on a Cloud Foundry instance will be shown. We will demo using Jenkins to do a blue/green application deployment. With a Cloud Foundry blue/green Jenkins deployment, you can push a new version of the application and have a software router add that to an existing version of the application's route. The two versions are then load-balanced, allowing for testing of the new version and easy replacement or fall-back to the existing version. Developers can run builds on private and public clouds with deploy to either/both Jenkins running on a PaaS and integrated into the PaaS. We will run a hands-on demo and show the beauty and simplicity of an integrated build pipeline with Spring, Jenkins and Cloud Foundry.

Read more...

Spring Cloud Consul 1.0.0.M1 Available Now

Consul is a system for discovering and configuring services in your infrastructure. It was built by Hashicorp, the same smart folks that created Vagrant and Packer. Consul provides services such as Service Discovery, Health Checking, Key/Value Store all while supporting multiple datacenters out of the box.

Spring Cloud Consul aims to bring all of those features to the Spring Cloud ecosystem. The project has reached its first milestone and fresh jars are available in the repo.spring.io repository. Spring Cloud Consul provides the following features:

Read more...

This Week in Spring - May 26th, 2015

Welcome to another installment of This Week in Spring! There is a lot to talk about, so let’s get to it!

  • First, the big news! Spring framework lead and OG Spring Guy Juergen Hoeller just announced that Spring framework 4.2 RC1 is now available! This new release includes lots of amazing new features so be sure to check it out! It includes anotation detection on Java 8 default methods, annotation-based application events, first-class annotation attibute aliases, nest path processing for direct field binding, data binding and conversion for JSR 354 (money and currency), Hibernate ORM 5.0 support (via JPA and natively), a STOMP client for use over TCP and WebSocket channels, Listenable/CompletableFuture as a message handler return value, CORS and declarative HTTP caching support, and much more. Get the bits, try it out, let’s make sure this is the best release yet!
  • Spring Cloud Connectors lead Scott Frederick just announced that the Spring Cloud Connectors 1.2.0 RC1 has been released. The new release includes many, backwards compatible, changes and upgrades including support for HikariCP as a connection pool and a fix that removes the dreaded ClassNotFoundException in certain rare circumstances! This upgrade is definitely worth an upgrade!
  • Spring Data ninja and Spring for Apache Hadoop lead Thomas Risberg just announced the last planned Spring for Apache Hadoop milestone release before 2.2.GA in approxmately 2 weeks. This release includes Cloudera CDH support, Hortonworks HDP 2.2 and 2.2.4.0 support, an updated Kite SDK, improvements to HDFS writer to support syncable writes and a new timeout option, and - usefully - this release requires Java 7 or greater.
  • Check out Marius Bogoevici and Dr. Mark Pollack’s amazing webinar on reactive pipelines with Spring XD and Kafka from last week! Even if you saw it, you’ll want to check it out again. This one was filled with good stuff.
  • Your humble author has been honored with the title of Java Champion. This title is bestowed on those who help advance the Java platform and nominations are made by other Java champions. It is a rarified group and I don’t know that I’m worthy. I only mention it because it is the camaraderie I share with you - the most amazing community in the world - that makes it fun and exciting to keep doing it. Thank you my friends. This Week in Spring is an almost 5 year chronicle of all the amazing things the community does to teach and inspire me and others. Thank you!
  • ChargeAhead has an interesting two-part video of building a Spring Boot-based Spring MVC application. Here’s part 1 and here’s part 2.
  • Driss Amri
    put together a nice post on getting started with Spring Security, Spring Session and Redis
  • Jose Diaz put together a video on using Angular.js, Twitter Bootstrap, Spring MVC, Spring Data and Spring Security together
  • Spring Cloud product manager Matt Stine put together a wonderful look at Spring Cloud in this InfoWorld post
  • The Learning the code way blog has a post on how to configure Spring Batch’s metadata database
Read more...

Spring Framework 4.2 goes RC1

Dear Spring community,

It’s my pleasure to announce that Spring Framework 4.2 RC1 is now available from our milestone repository. This is a feature release in the 4.x line with a focus on core refinements and modern web capabilities:

  • Annotation detection on Java 8 default methods (e.g. @Bean)
  • Annotation-based application events (@EventListener)
  • First-class support for annotation attribute aliases
  • Full nested path processing for direct field binding
  • Data binding and conversion for JSR-354 Money & Currency
  • Integration with Hibernate ORM 5.0 (natively and via JPA)
  • Rich support for CORS and declarative HTTP caching
  • First-class support for HTTP Streaming and Server-Sent Events
  • Listenable/CompletableFuture as message handler return value
  • A STOMP client for use over TCP and WebSocket channels
Read more...

Spring Cloud Connectors 1.2.0 RC1 released

I’m pleased to announce the availability of Spring Cloud Connectors 1.2.0 RC1.

This release should be fully backward compatible with 1.1.0.RELEASE for applications using the library. Libraries that extend the core Connectors library should be recompiled against 1.2.0 RC1, and may encounter a few small extension API changes. Barring any issues, this will be the only RC before 1.2.0.RELEASE.

Here’s an overview of what’s new in 1.2.0:

Spring Cloud Connectors Core

AMQP

  • AmqpServiceInfo no longer validates that the path element of a URI contains a value, which allows the default RabbitMQ vhost to be used.
  • URL validation in AmqpServiceInfo was relaxed such that QPID URL format is supported as well as RabbitMQ URL format.
  • AmqpServiceInfo now supports holding a list of URIs for providers that support multiple host connections.
Read more...

Spring for Apache Hadoop 2.2 RC1 released

We are pleased to announce the Spring for Apache Hadoop 2.2 RC1 milestone releases. This is the last planned release before the 2.2 GA release in approximately 2 weeks.

The most important changes/enhancements in the Spring for Apache Hadoop 2.2 version are:

  • Remove support for running with JDK 6, Java 7 or later is now required
  • Improvements to the HDFS writer to support syncable writes and a new timeout option
  • Add support for Pivotal HD 3.0
  • Update CLoudera CDH 5 to use version 5.3.3
  • Update Hortonworks HDP 2.2 version to 2.2.4.0
  • Update Kite SDK to version 1.0
  • Update Spring project versions to the latest
Read more...

Webinar Replay: Reactive data-pipelines with Spring XD and Kafka

Speakers: Marius Bogoevici & Mark Pollack

Slides: https://speakerdeck.com/mbogoevici/reactive-data-pipelines-with-spring-xd-and-kafka

In the recent years, drastic increases in data volume as well as a greater demand for low latency have led to a radical shift in business requirements and application development methods. In response to these demands, frameworks such as RxJava and high throughput messaging systems such as Kafka have emerged as key building blocks. However, integrating technologies is never easy and Spring XD provides a solution. Through its development model and runtime, Spring XD makes it easy to develop highly scalable data pipelines, and lets you focus on writing and testing business logic vs. integrating and scaling a big data stack. Come and see how easy this can be in this webinar, where we will demonstrate how to build highly scalable data pipelines with RxJava and Kafka, using Spring XD as a platform. In the recent years, drastic increases in data volume as well as a greater demand for low latency have led to a radical shift in business requirements and application development methods. In response to these demands, frameworks such as RxJava and high throughput messaging systems such as Kafka have emerged as key building blocks. However, integrating technologies is never easy and Spring XD provides a solution. Through its development model and runtime, Spring XD makes it easy to develop highly scalable data pipelines, and lets you focus on writing and testing business logic vs. integrating and scaling a big data stack. Come and see how easy this can be in this webinar, where we will demonstrate how to build highly scalable data pipelines with RxJava and Kafka, using Spring XD as a platform.

Read more...