= Task Events

This is a task application that emits batch job events to the following channels:

	* job-execution-events
	* step-execution-events
	* chunk-events
	* item-read-events
	* item-process-events
	* item-write-events
	* skip-events

Note: More information on this topic is available https://docs.spring.io/spring-cloud-task/docs/current/reference/html/#stream-integration-batch-events[here].

== Requirements:

* Java 17 or Above

== Build:

[source,shell]
----
./mvnw clean install
----

== Execution:

[source,shell]
----
java -jar target/batch-events-3.0.0.jar
----

For example, you can listen for specific job-execution events on a specified channel with a Spring Cloud Stream Sink
like the https://github.com/spring-cloud/stream-applications/tree/main/applications/sink/log-sink[log sink] using the following:

[source,shell]
----
$ java -jar <PATH_TO_LOG_SINK_JAR>/log-sink-rabbit-3.1.2.jar --server.port=9090
--spring.cloud.stream.bindings.input.destination=job-execution-events
----

== Dependencies:

The batch-events sample requires an instance of RabbitMQ to be running.
