Skip to content

Commit fb36e2d

Browse files
committed
adjusted readme
1 parent 0a8bade commit fb36e2d

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Spring Persistent Tasks
22

3-
A simple task framework which has it's focus being simple and to support [Poor mans Workflow](https://github.com/sterlp/pmw)
3+
A simple task management framework designed to queue and execute asynchronous tasks with support for database persistence and a user-friendly interface. It can be used to implement scheduling patterns or outbound patterns.
4+
5+
Focus is the usage with spring boot and JPA.
6+
7+
Secondary goal is to support [Poor mans Workflow](https://github.com/sterlp/pmw)
48

59
# Setup and Run a Task
610

@@ -36,6 +40,7 @@ public class BuildVehicleTask implements SpringBeanTask<Vehicle> {
3640

3741
private final VehicleRepository vehicleRepository;
3842

43+
@Transactional(timeout = 5)
3944
@Override
4045
public void accept(Vehicle vehicle) {
4146
// do stuff
@@ -47,14 +52,15 @@ public class BuildVehicleTask implements SpringBeanTask<Vehicle> {
4752

4853
### As a closure
4954

55+
Note: this example has no aspects as above the spring *@Transactional*
56+
5057
```java
5158
@Bean
52-
SpringBeanTask<String> task1(AnyService anyService) {
53-
return state -> anyService.doStuff(state);
59+
SpringBeanTask<Vehicle> task1(VehicleRepository vehicleRepository) {
60+
return v -> vehicleRepository.save(v);
5461
}
5562
```
5663

57-
5864
## Queue a task execution
5965

6066
### Direct usage of the TriggerService.
@@ -78,9 +84,9 @@ SpringBeanTask<String> task1(AnyService anyService) {
7884

7985
public void buildVehicle() {
8086
var trigger = TaskTriggerBuilder
81-
.<String>newTrigger("task2")
87+
.<Vehicle>newTrigger("task2")
8288
.id("my-id") // will overwrite existing triggers
83-
.state("someState")
89+
.state(new Vehicle("funny"))
8490
.runAfter(Duration.ofHours(2))
8591
.build()
8692

example/src/main/java/org/sterl/spring/example_app/vehicle/task/BuildVehicleTask.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.sterl.spring.example_app.vehicle.task;
22

33
import org.springframework.stereotype.Component;
4+
import org.springframework.transaction.annotation.Transactional;
45
import org.sterl.spring.example_app.vehicle.model.Vehicle;
56
import org.sterl.spring.example_app.vehicle.repository.VehicleRepository;
67
import org.sterl.spring.persistent_tasks.api.SpringBeanTask;
@@ -19,6 +20,7 @@ public class BuildVehicleTask implements SpringBeanTask<Vehicle> {
1920

2021
private final VehicleRepository vehicleRepository;
2122

23+
@Transactional(timeout = 5)
2224
@Override
2325
public void accept(Vehicle vehicle) {
2426
vehicleRepository.save(vehicle);

0 commit comments

Comments
 (0)