@@ -123,50 +123,51 @@ PersistentTask<Vehicle> task1(VehicleHttpConnector vehicleHttpConnector) {
123123### Direct usage of the `TriggerService ` or `PersistentTaskService `.
124124
125125```java
126- private final TriggerService triggerService;
127- private final PersistentTaskService persistentTaskService;
128-
129- public void buildVehicle() {
130- // Vehicle has to be Serializable
131- final var v = new Vehicle ();
132- // set any data to v ...
133-
134- // queue it
135- triggerService. queue(BuildVehicleTask . ID. newUniqueTrigger(v));
136- // will queue it and run it if possible.
137- // if the scheduler service is missing it is same as above
138- persistentTaskService. runOrQueue(BuildVehicleTask . ID. newUniqueTrigger(v));
139- }
126+ private final TriggerService triggerService;
127+ private final PersistentTaskService persistentTaskService;
128+
129+ public void buildVehicle() {
130+ // Vehicle has to be Serializable
131+ final var v = new Vehicle ();
132+ // set any data to v ...
133+
134+ // EITHER: queue it, will run later
135+ triggerService. queue(BuildVehicleTask . ID. newUniqueTrigger(v));
136+
137+ // OR: will queue it and run it if possible.
138+ // if the scheduler service is missing it is same as using the TriggerService
139+ persistentTaskService. runOrQueue(BuildVehicleTask . ID. newUniqueTrigger(v));
140+ }
140141```
141142
142- ### Build Trigger
143+ ### Build complex Trigger
143144
144145```java
145- private final TriggerService triggerService ;
146+ private final PersistentTaskService persistentTaskService ;
146147
147- public void buildVehicle() {
148- var trigger = TaskTriggerBuilder
149- . < Vehicle > newTrigger(" task2" )
150- .id(" my-id" ) // will overwrite existing triggers
151- .state(new Vehicle (" funny" ))
152- .runAfter(Duration . ofHours(2 ))
153- .build();
148+ public void buildVehicle() {
149+ var trigger = TaskTriggerBuilder
150+ . < Vehicle > newTrigger(" task2" )
151+ .id(" my-id" ) // will overwrite existing triggers
152+ .state(new Vehicle (" funny" ))
153+ .runAfter(Duration . ofHours(2 ))
154+ .build();
154155
155- triggerService . queue (trigger);
156- }
156+ persistentTaskService . runOrQueue (trigger);
157+ }
157158```
158159
159160### Use a Spring Event
160161
161162```java
162- private final TriggerService triggerService ;
163+ private final ApplicationEventPublisher eventPublisher ;
163164
164- public void buildVehicle() {
165- // Vehicle has to be Serializable
166- final var v = new Vehicle ();
167- // set any data
168- triggerService . queue( BuildVehicleTask . ID. newUniqueTrigger(v));
169- }
165+ public void buildVehicle() {
166+ // Vehicle has to be Serializable
167+ final var v = new Vehicle ();
168+ // send an event with the trigger inside - same as calling the PersistentTaskService
169+ eventPublisher . publishEvent( TriggerTaskCommand . of( BuildVehicleTask . ID. newUniqueTrigger(v) ));
170+ }
170171```
171172
172173### JUnit Tests
0 commit comments