Webinar Replay: Building Scalable Data Applications with Spring and GemFire

News | Pieter Humphrey | January 19, 2015 | ...

Webinar: Building Scalable Data Applications with Spring and GemFire

Speakers: Luke Shannon, Pivotal

Slides: http://www.slideshare.net/SpringCentral/building-scalable-web-applications-with-spring-data-gemfire

GemFire is Pivotal's distributed In Memory Data grid. In this session we will cover simplifying configuring a GemFire grid using Spring Data GemFire, and explore how data is dynamically distributed and made highly available as the grid resources are increased or decreased to meet increased client demand. GemFire access and testing patterns using Spring will be reviewed in detail. We will walk through creating a domain object and using Spring Data GemFire Repositories to perform CRUD operations on a GemFire grid, creating a Spring MVC/Spring Boot application that uses GemFire as its persistence layer, review how Spring Boot and Spring Data GemFire can be used to help with GemFire test cases and how Spring Data GemFire can make creation and execution of GemFire functions easier. We will also explore how Spring XD can be used to load and monitor data changes in the grid. This will be a hands on, code oriented session.

Spring Batch and Spring Batch Admin Releases

Releases | Michael Minella | January 16, 2015 | ...

We are pleased to announce a number of Spring Batch related releases today. A bug fix release for Spring Batch, a bug fix release for Spring Batch Admin and a milestone release for the new version of Spring Batch Admin are all now available.

Spring Batch 3.0.3

Spring Batch 3.0.3 represents the latest maintenance release for Spring Batch, addressing a number of enhancements and minor bug fixes. New features in Spring Batch 3.0.3 include:

Improved Support For JSR-352 Custom Infrastructures

Before this release, the only way to override the infrastructure provided by Spring Batch out of the box for JSR-352 configured jobs was to include the configuration in the job's context. This prevented the ability to configure a global override for really shared components. With 3.0.3, you can now specify the location of a Spring configuration via a System property that can override the existing infrastructure.

Optional Polling For Partitioned Results

When using remote partitioning, the master needs a way to be notified that the slave partitions have completed their work. Historically that has been accomplished by each slave replying to the master, the results being aggregated, and then the master being notified that all the slaves have completed. However, this required extra configuration that may not be necessary. Since the slaves in a partitioned job maintain their state in the same job repository that the master does, the master can just poll the job repository to see if the slaves are complete. This release adds the ability to configure the MessageChannelPartitionHandler to poll the job repository instead of waiting for response messages. You can read more about the configuration of this new feature in the documentation for the MessageChannelPartitionHandler.

This isn't a complete list of updates, but highlight the major new features. You can see exactly what changed in Spring Batch's Jira issue tracker here: https://jira.spring.io/browse/BATCH/

Spring Batch Admin

1.3.1

The first of two Spring Batch Admin releases we are making available today is the first maintenance release for the Spring Batch Admin 1.3 line. This release addresses a number of minor bugs, the list of which can be found in Jira here: https://jira.spring.io/browse/BATCHADM/

2.0.0.M1

The biggest question I received at SpringOne2GX this past year was "What's going on with Spring Batch Admin?" Spring Batch Admin had its last update in July (shortly before SpringOne2GX last year), but it wasn't much of a feature upgrade. It was released to update the dependencies and address some bugs. Since then, we've been hard at work updating a number of features to bring Spring Batch Admin up to date. Today we announce the first milestone towards that goal.

JSR-352 Support

Spring Batch Admin, as part of the 2.0.0.M1 release, will now support JSR-352 configured jobs. By dropping your XML based configuration in the /META-INF/batch-jobs directory as the spec requires, Spring Batch Admin will load the job to be launchable by the REST endpoints and the current UI. All of the monitoring aspects provided by Spring Batch Admin (viewing the executions, start/stop/restart, etc) are available.

Java Configuration Support

As the shift within the Spring community has been going from XML based configuration to java based configuration, Spring Batch Admin is keeping up. As of this release, Spring Batch Admin supports the configuration of a package to scan for java configured Spring Batch jobs. As with any other batch jobs, these will be loaded and available for execution just like their XML counterparts.

It's important to note, that while Spring Batch Admin now supports java based configuration, you won't want to use @EnableBatchProcessing with it. There's a reason for that. @EnableBatchProcessing provides a collection of infrastructure that is already provided out of the box by Spring Batch Admin. Configuring jobs via java config for use within Spring Batch Admin is exactly the same as if you were using @EnableBatchProcessing...without using that annotation. You still get the ability to autowire the JobBuilderFactory and StepBuilderFactory just like you normally would.

REST Endpoint Updates

As part of the work the Spring XD team has been doing in their administration UI, they have created a completely new set of batch related REST endpoints. This release migrates those endpoints into Spring Batch Admin for all to consume. Off of the /batch path lives a collection of endpoints that provide functionality similar to the existing REST API, however goes much further. The new API follows HATEOAS principles allowing for API discovery and traversal. While the support of HATEOAS is a work in progress, this release provides a look into where we're going with this.

The Future of Spring Batch Admin

Like all of the Spring projects, we strive to make things backwards compatible as much as reasonable possible. Because of that, Spring Batch Admin 2.0 is undergoing some major changes to allow backwards compatibility in the future. These changes include, the removal of an "official" UI, and deprecation of the older version of the REST API. This release does not contain any of these changes. These changes will be coming before Spring Batch Admin 2.0 is generally available. It is our desire to be open and transparent as to the direction of the project.

Anyone that has followed the rate of change in the UI space over the past few years can quickly discern that picking a modern front-end technology and being able to maintain backwards compatibility for the foreseeable future is not possible right now. The rate of breaking changes is just too great right now. When factoring this into our desire to provide tools at the forefront of their related space, we've decided to remove the UI as a formal part of the project. That being said, we still understand that a client is an important piece of what Spring Batch Admin brings to the table. Because of this, it is our plan to provide a collection of sample projects that demonstrate a couple different client options. This will allow us to evolve client options independently of the core framework/API in a way that doesn't prevent us from being backwards compatible.

We will also be deprecating the older version of the REST API. The new API takes a step forward in the REST API maturity model, moving from basic CRUD over HTTP to support for true resources. While the new REST endpoints are still a work in progress, once they are feature complete, we will deprecate the old ones to focus development efforts on improving and evolving the new set.

Where We Go From Here

We will continue to work on the changes mentioned above and currently plan on another release early in the second quarter of this year. We are excited about the future of Spring Batch Admin and look forward to your feedback in Jira, Github, StackOverflow, and social media!

Spring IO Platform 1.1.1 released

Releases | Andy Wilkinson | January 15, 2015 | ...

We are pleased to announce that Spring IO Platform 1.1.1.RELEASE is now available from both repo.spring.io and Maven Central.

The main highlight of this release is the addition of Spring Session 1.0.0.RELEASE to the Platform.

In addition, this release also upgrades the versions of a number of the projects to pick up their latest maintenance releases:

  • Spring AMQP 1.4.2.RELEASE
  • Spring Boot 1.2.1.RELEASE
  • Spring Framework 4.1.4.RELEASE
  • Spring Integration 4.1.2.RELEASE

The versions of many third-party dependencies have also been updated.

Project Page | GitHub | Issues | Documentation

SpringOne2GX 2014 Replay: Spring Integration - Java Configuration and More

News | Pieter Humphrey | January 14, 2015 | ...

Recorded at SpringOne2GX 2014.

Speaker: Gary Russell

Slides: http://www.slideshare.net/SpringCentral/spring-one2gx-2014integration-41083190

Data / Integration Track

There have been 2 major releases of Spring Integration since the last SpringOne 2GX. The 3.0 release added a number of important new components and provided extensive improvements to SpEL support enabling much richer SpEL processing. The 4.0 release added more components and extensive support for annotation-based config, reducing or even eliminating the need for XML configuration. It also laid the groundwork for the Java DSL extension. In this session we will examine many of these new features in detail. It will be mostly hands-on demonstration and code walk throughs.

 

SpringOne2GX 2014 Replay: Caching and Messaging Improvements in Spring Framework 4.1

News | Pieter Humphrey | January 14, 2015 | ...

Recorded at SpringOne2GX 2014.

Speakers:Juergen Hoeller, Stéphane Nicoll

Core Spring Track

Slides: http://www.slideshare.net/SpringCentral/201409-springonecachingmessaging

This session showcases major new features along the lines of two key themes in Spring Framework 4.1: We’ll start with numerous improvements around the caching abstraction, as requested by the community, including the support for JCache (JSR-107) standard annotations. We’ll then move on to messaging-related features such as annotated JMS listener endpoints with flexible method signatures, using the messaging abstraction introduced in Spring Framework 4.0 and therefore aligning our core JMS support with our STOMP endpoint style.

SpringOne2GX 2014 Replay: From 0 to Spring Security 4.0

News | Pieter Humphrey | January 14, 2015 | ...

Recorded at SpringOne2GX 2014.

Speaker: Rob Winch

Slides: http://www.slideshare.net/SpringCentral/spring-security0to40-41084141

Core Spring Track

Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can be extended to meet custom requirements. In this presentation Rob will start with an insecure application and incrementally Spring Security 4 to demonstrate how easily you can secure your application. Throughout the presentation, new features found in Spring Security 4 will be highlighted. Whether you are new to Spring Security or are wanting to learn what is new in Spring Security 4, this presentation is a must!

SpringOne2GX 2014 Replay: Spring Framework on Java 8

News | Pieter Humphrey | January 14, 2015 | ...

Speakers:Juergen Hoeller

Core Spring Track

Slides: http://www.slideshare.net/SpringCentral/spring-on-java-8

Spring has a track record of providing dedicated support for new Java generations in a timely fashion, and now it’s right about time to go Java 8: With Spring Framework 4.0, we're providing in-depth support for all relevant OpenJDK 8 features, including lambda expressions, JSR-310 Date and Time, parameter name discovery, and java.util.concurrent enhancements. This talk will illustrate basic Spring Framework 4.0 concepts, and selected Java 8 features within Spring's programming model, exploring the impact on application architectures.

 

This Week in Spring - January 13th, 2015

Engineering | Josh Long | January 14, 2015 | ...

Welcome to another installment of This Week in Spring. We've got a lot to talk about. Our own Pieter Humphrey has been tirelessly working to get the replays of the SpringOne2GX 2014 show available online and there are a slew of them this week! What a win!

  • The good Dr. Syer, former lead of Spring Batch, co-lead of Spring Boot, Spring Cloud and Spring Security OAuth, and a rockstar to various Spring projects including Spring itself, over the years, has kicked off a series of posts on very practical matters related to securing Angular.js applications with Spring. The first one, Spring and Angular JS: A Secure Single Page Application, introduces the basics of connecting an Angular.js-based client to a backend API. The second, The Login Page: Angular JS and Spring Security Part II, introduces the login form. Bookmark this series!
  • The amazing, sleep-intolerant, Rob Winch has just announced Spring Session 1.0. Spring Session, for those who've not been paying attention, is a drop in proxy API for the standard Servlet HTTP Session API. Install it, and then delegate HTTP session persistence to other backend implementations like Redis. This is ideal for a lot of reasons: if you are using a Java EE application server and want to scale out session replication, you can use an engine that was better designed for it. It's a safe bet that the team behind Cassandra and Redis have thought…

\"Configuring It All Out\" or \"12-Factor App-Style Configuration with Spring\"

Engineering | Josh Long | January 13, 2015 | ...

Let's establish some vocabulary, before we begin. When we talk about configuration in Spring, we're usually talking about the inputs into the Spring framework's various ApplicationContext implementations that help the container understand what it is you want done. This might be an XML file to be fed into a ClassPathXmlApplicationContext, or Java classes annotated a certain way to be fed into an AnnotationConfigApplicationContext.

Another type of configuration, as nicely described in the 12-Factor application manifesto, is any of an application's that is likely to vary between deploys (staging…

SpringOne2GX 2014 Replay: REST Services with RabbitMQ, Spring Integration and Node.JS

News | Pieter Humphrey | January 12, 2015 | ...

Recorded at SpringOne2GX 2014.

Speakers: Durai Arasan, Monish Unni - ETrade

Slides: http://www.slideshare.net/SpringCentral/rest-services-with-rabbitmq-spring-integration-and-nodejs

Data / Integration Track

Extending from last year's conversation in SpringOne2GX on real world use of RabbitMQ and Spring Integration, this talk will be centered around REST service as first class citizen in Spring Integration with RabbitMQ. How do you build REST services and integrate with Spring Integration and RabbitMQ? What kind of role Node.JS can play in your architecture to simplify complex problems? We will address all of these questions and provide insight into design and architecture challenges to bring enterprise services to support modern client applications that expect REST Services.

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring Runtime 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