Skip to content

Commit 0a8bade

Browse files
committed
update doc
1 parent b43bb7e commit 0a8bade

File tree

10 files changed

+79
-26
lines changed

10 files changed

+79
-26
lines changed

README.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,17 @@ A simple task framework which has it's focus being simple and to support [Poor m
1414
</dependency>
1515
```
1616

17+
## Setup Spring
18+
19+
```java
20+
@SpringBootApplication
21+
@EnableSpringPersistentTasks
22+
public class ExampleApplication {
23+
```
24+
1725
## Setup a spring persitent task
1826

27+
### As a class
1928
```java
2029
@Component(BuildVehicleTask.NAME)
2130
@RequiredArgsConstructor
@@ -36,8 +45,51 @@ public class BuildVehicleTask implements SpringBeanTask<Vehicle> {
3645
}
3746
```
3847

48+
### As a closure
49+
50+
```java
51+
@Bean
52+
SpringBeanTask<String> task1(AnyService anyService) {
53+
return state -> anyService.doStuff(state);
54+
}
55+
```
56+
57+
3958
## Queue a task execution
4059

60+
### Direct usage of the TriggerService.
61+
62+
```java
63+
private final TriggerService triggerService;
64+
65+
public void buildVehicle() {
66+
// Vehicle has to be Serializable
67+
final var v = new Vehicle();
68+
// set any data to v ...
69+
70+
// queue it
71+
triggerService.queue(BuildVehicleTask.ID.newUniqueTrigger(v));
72+
}
73+
```
74+
75+
### Build Trigger
76+
```java
77+
private final TriggerService triggerService;
78+
79+
public void buildVehicle() {
80+
var trigger = TaskTriggerBuilder
81+
.<String>newTrigger("task2")
82+
.id("my-id") // will overwrite existing triggers
83+
.state("someState")
84+
.runAfter(Duration.ofHours(2))
85+
.build()
86+
87+
triggerService.queue(trigger);
88+
}
89+
```
90+
91+
### Use a Spring Event
92+
4193
```java
4294
private final TriggerService triggerService;
4395

@@ -74,6 +126,15 @@ Liquibase is supported. Either import all or just the required versions:
74126
</dependency>
75127
```
76128

129+
## Setup Spring
130+
131+
```java
132+
@SpringBootApplication
133+
@EnableSpringPersistentTasks
134+
@EnableSpringPersistentTasksUI
135+
public class ExampleApplication {
136+
```
137+
77138
## Open the UI
78139

79140
- http://localhost:8080/task-ui

example/src/main/java/org/sterl/spring/example_app/ExampleApplication.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@
1111
import org.springframework.data.web.config.EnableSpringDataWebSupport;
1212
import org.springframework.data.web.config.EnableSpringDataWebSupport.PageSerializationMode;
1313
import org.springframework.transaction.support.TransactionTemplate;
14-
import org.sterl.spring.persistent_tasks.EnablePersistentTasks;
14+
import org.sterl.spring.persistent_tasks.EnableSpringPersistentTasks;
1515
import org.sterl.spring.persistent_tasks.scheduler.SchedulerService;
1616
import org.sterl.spring.persistent_tasks.scheduler.component.EditSchedulerStatusComponent;
1717
import org.sterl.spring.persistent_tasks.scheduler.component.TaskExecutorComponent;
1818
import org.sterl.spring.persistent_tasks.trigger.TriggerService;
19-
import org.sterl.spring.persistent_tasks_ui.EnablePersistentTasksUi;
19+
import org.sterl.spring.persistent_tasks_ui.EnableSpringPersistentTasksUI;
2020

2121
@SpringBootApplication
22-
@EnablePersistentTasks
23-
@EnablePersistentTasksUi
22+
@EnableSpringPersistentTasks
23+
@EnableSpringPersistentTasksUI
2424
@EnableSpringDataWebSupport(pageSerializationMode = PageSerializationMode.VIA_DTO)
2525
public class ExampleApplication {
2626

pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
</license>
2525
</licenses>
2626

27+
<url>https://github.com/sterlp/spring-persistent-tasks</url>
28+
2729
<scm>
2830
<url>https://github.com/sterlp/spring-persistent-tasks</url>
2931
</scm>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
@Target(ElementType.TYPE)
1212
@Retention(RetentionPolicy.RUNTIME)
1313
@Documented
14-
@Import(PersistentTasksUiConfig.class)
15-
public @interface EnablePersistentTasksUi {
14+
@Import(SpringPersistentTasksUIConfig.class)
15+
public @interface EnableSpringPersistentTasksUI {
1616

1717
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
1010

1111
@Configuration
12-
public class PersistentTasksUiConfig implements WebMvcConfigurer {
12+
public class SpringPersistentTasksUIConfig implements WebMvcConfigurer {
1313
@Override
1414
public void addViewControllers(ViewControllerRegistry registry) {
1515
registry.addViewController("/task-ui").setViewName("/task-ui/index.html");
@@ -20,6 +20,6 @@ public void addViewControllers(ViewControllerRegistry registry) {
2020
public void addResourceHandlers(ResourceHandlerRegistry registry) {
2121
registry.addResourceHandler("/task-ui/assets/**")
2222
.addResourceLocations("classpath:/static/task-ui/assets/")
23-
.setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS));
23+
.setCacheControl(CacheControl.maxAge(90, TimeUnit.DAYS));
2424
}
2525
}

spring-persistent-tasks-ui/src/main/java/org/sterl/spring/persistent_tasks_ui/SpringTaskUiWebMvcConfiguration.java

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
@Target(ElementType.TYPE)
1212
@Retention(RetentionPolicy.RUNTIME)
1313
@Documented
14-
@Import(PersistentTasksConfig.class)
15-
public @interface EnablePersistentTasks {
14+
@Import(SpringPersistentTasksConfig.class)
15+
public @interface EnableSpringPersistentTasks {
1616

1717
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
@Configuration
99
@EnableScheduling
10-
@AutoConfigurationPackage(basePackageClasses = EnablePersistentTasks.class)
11-
@ComponentScan(basePackageClasses = EnablePersistentTasks.class)
12-
public class PersistentTasksConfig {
10+
@AutoConfigurationPackage(basePackageClasses = EnableSpringPersistentTasks.class)
11+
@ComponentScan(basePackageClasses = EnableSpringPersistentTasks.class)
12+
public class SpringPersistentTasksConfig {
1313

1414
}

spring-persistent-tasks/src/test/java/org/sterl/spring/persistent_tasks/AbstractSpringTest.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,7 @@ SpringBeanTask<String> task1(ApplicationEventPublisher publisher, AsyncAsserts a
106106

107107
@Bean
108108
SpringBeanTask<String> task2(AsyncAsserts asserts) {
109-
return new SpringBeanTask<>() {
110-
@Override
111-
public void accept(String state) {
112-
asserts.info("task2::" + state);
113-
}
114-
};
109+
return state -> asserts.info("task2::" + state);
115110
}
116111

117112
@Component(Task3.NAME)

spring-persistent-tasks/src/test/java/org/sterl/spring/sample_app/SampleApp.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5-
import org.sterl.spring.persistent_tasks.EnablePersistentTasks;
5+
import org.sterl.spring.persistent_tasks.EnableSpringPersistentTasks;
66

77
@SpringBootApplication
8-
@EnablePersistentTasks
8+
@EnableSpringPersistentTasks
99
public class SampleApp {
1010

1111
public static void main(String[] args) {

0 commit comments

Comments
 (0)