Spring Team
Glenn Renfro

Glenn Renfro

Spring Task/Data Flow Committer

Atlanta USA

As a Pivotal engineer, Glenn is a core committer for Spring Integration, Spring XD or wherever he is needed..
Blog Posts by Glenn Renfro

Spring Cloud Task 1.2.0.RELEASE is now available

We are pleased to announce that Spring Cloud Task 1.2.0.RELEASE is now available via Github, Maven Central, and the Pivotal download repository. Many thanks to all of those who contributed to this release. This release represents the first GA release of the 1.2 line.

What’s new in Spring Cloud Task 1.2.0.RELEASE

The Spring Cloud Task 1.2.0.RELEASE is intended to continue the integrations required for Spring Cloud Data Flow, this release provides the following features.

  • Better DataSource integration between task and batch - This release makes configuring a shared DataSource between task and batch repositories to be simpler.
  • Allow the user to easily configure a prefix for the task tables - Similar to how Spring Batch allows a user to configure a prefix for the batch repository tables, Spring Cloud Task now exposes the ability to configure a prefix for task repository tables via a Spring Boot property.
  • Allows an external process to update the external execution id - Prior to this release, the external execution id (the execution id for the underlying platform) had to be updated by the task itself. In some use cases, this is not possible. This release exposes the ability to update the external execution id outside the scope of the task itself.
  • Add support for parent execution ids - In complex use cases, the ability for one task to launch multiple other tasks is very common. Spring Cloud Task has already supported this via partitioned batch jobs launching worker nodes as tasks. This release provides the ability within the task repository to associate the parent child relationship that occurs from that capability (both in the batch use case and with raw tasks).
  • Task name can be set when creating a TaskExecution externally, allowing the launcher to set the name in a persistent manor.
  • Added Ordered Interface to Task Events and Batch Job Events so the user can establish when task or batch events are emitted from their Spring Cloud Task application.
  • Renamed closecontext.enable to closecontext.enabled as to match the Spring Boot style for enabled properties.
  • Various bug fixes and documentation updates.
Read more...

Spring Cloud Task 1.2.0.RC1 is now available

We are pleased to announce that Spring Cloud Task 1.2.0.RC1 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

Spring Cloud Task 1.2.0.RC1 offers the following features:

  • Upgrade to Spring Cloud Stream Chelsea GA.
  • Renamed closecontext.enable to closecontext.enabled as to match the Spring Boot style for enabled properties.
  • Task name can be set when creating a TaskExecution externally, allowing the launcher to set the name in a persistent manor.
  • Added Ordered Interface to Task Events and Batch Job Events so the user can establish when task or batch events are emitted from their Spring Cloud Task application.
  • Cleaned up Spring Cloud Task dependencies.
  • Update default task name creation to prevent conflicts with JMX.
Read more...

Spring Cloud Task 1.2.0.M2 is now available

We are pleased to announce that Spring Cloud Task 1.2.0.M2 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

Spring Cloud Task 1.2.0.M2 offers the following features:

  • Upgrade to Spring Cloud Dalston RC1 and Spring Boot 1.5.2 - This release is compatible with the Spring Cloud Dalston RC1 release.

  • Fixed invalid data type bug in Oracle Script.

  • Fixed bug in MySQL migration scripts so that they will work on file systems that are case sensitive.

  • Updated Spring Cloud Task samples to use Spring Boot 1.5.2.

  • Updated documentation to discuss unit testing and notes on using Transaction Managers.

Read more...

Spring Cloud Task 1.1.2.RELEASE is now available

We are pleased to announce that Spring Cloud Task 1.1.2.RELEASE is now available via Github, Pivotal download repository, and Maven Central.

The main driver for this Spring Cloud Task release is to correct an error in the dependencies within the 1.1.1.RELEASE.

What do you think?

We look forward to your feedback on these new features in Github, StackOverflow, or to me directly via Twitter @michaelminella!

Spring Cloud Task Home | Source on GitHub | Reference Documentation

Read more...

Spring Cloud Task 1.1.1.RELEASE is now available

We are pleased to announce that Spring Cloud Task 1.1.1.RELEASE is now available via Github, Pivotal download repository, and Maven Central.

The main driver for this Spring Cloud Task release is to replace the MYISAM engine that is used to create TASK_SEQ table for the MySQL database with the InnoDB engine.

For more information please look at the following Github issue.

What do you think?

We look forward to your feedback on these new features in Github, StackOverflow, or to me directly via Twitter @michaelminella!

Read more...

Spring Cloud Task 1.1.0.RC1 is now available

We are pleased to announce that Spring Cloud Task 1.1.0.RC1 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

Spring Cloud Task 1.1.0 offers the following features:

This release continues to progress on 1.1.0’s main theme of improving overall task functionality as well as migrating features that existed within Spring XD to Spring Cloud Task. The feature set for 1.1.0 includes:

  • Updated error message handling - 1.1.0 adds a new column to the TASK_EXECUTION table, ERROR_MESSAGE. This new column will be where any exception that is thrown causing the failure of a task to be recorded (this is changed from the EXIT_MESSAGE field in previous versions). This change allows for the EXIT_MESSAGE field to be better utilized for orchestration of tasks.
  • Improved options for customizing the launch of partitioned job workers - When using the DeployerPartitionHandler, 1.1.0 now provides abstractions around customizing the environment variables and command line arguments on a per partition basis.
  • Support for external execution id - When executing a task on a PaaS or other cloud infrastructure, there is typically a mapping that needs to occur between the task’s execution id and the id provided by the underlying system. This feature provides the ability to correlate those two for things like log management, audit, etc.
  • Support externalized task execution recording - This capability goes along with the support for an external execution id in that this allows the launching system to record a task execution’s existence prior to it’s start.
  • DB2 Support - Thanks to community for adding the DB2 support for Task Repository.
  • Partition Job Samples - Checkout the updated partitioned batch-job sample and the updated instructions on how to orchestrate them as short-lived Tasks in Local, Cloud Foundry, Mesos, YARN and Kubernetes.
Read more...

Spring Cloud Task 1.1.0.M2 is now available

We are pleased to announce that Spring Cloud Task 1.1.0.M2 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

What’s new in Spring Cloud Task 1.1.0.M2

This release continues to progress on 1.1.0’s main theme of improving overall task functionality as well as migrating features that existed within Spring XD to Spring Cloud Task. The main updates for this release are the following:

  • Support for Generated Task Id - A common use case for a Spring Cloud Task application is to launch it within a PaaS, like Cloud Foundry or other cloud infrastructure. Because of this, there may be a delay between the launch request and the actual application beginning. Worse, the system responsible for launching the application may not actually launch the task for reasons outside of Spring Cloud Task’s control (lack of resources, network issues, etc). This feature allows the caller to register that a task has been requested to run. This way, no request of a task is lost between the request and the actual start of the Boot application.
  • Support for External Execution Id - When executing a task on a PaaS or other cloud infrastructure, there is typically a mapping that needs to occur between the task’s execution id and the id provided by the underlying system. This feature provides the ability to correlate those two for things like log management, audit, etc.
Read more...

Spring XD Benchmarks Part 1

Introduction

A common question when developing streaming applications is, “How many events per second can you process?”. The primary purpose of this blog post is to answer that question without falling into the classic benchmarking conundrum of benchmarking versus “benchmarketing”. The common approach with ‘native’ benchmarking applications provide by messaging middleware vendors is to focus on raw data transport speed, without serialization or deserialization of the message data and without any data processing. In Part 1 of the series, we will follow this approach.

Read more...