Table of Contents |
---|
Tip |
---|
Przydatne linki |
Zadanie zaplanowane
Zadanie zaplanowane to komponent użytkownika pozwalający na zdefiniowanie zadania wykonywanego okresowo.
Stworzenie zadania zaplanowanego możliwe jest w panelu administratora (Administracja -> Konfiguracja systemu -> Zadania zaplanowane)
Definiowanie zadania zaplanowanego
Zadanie zaplanowane tworzone jest w oparciu o definicję stworzoną przez użytkownika. Definicja taka musi zawierać następujące elementy:
- Adnotację @ScheduledTask (jeżeli zadanie zaplanowane nie jest definiowany we wtyczce, musi ono pochodzić z pakietu
com.suncode
) - Publiczną metodę oznaczoną adnotacją @Define z jednym parametrem ScheduledTaskDefinitionBuilder
- Publiczną metodę o nazwie execute, która ma zostać wykonana okresowo.
Przykładowa definicja przedstawiona jest poniżej:
Code Block | ||
---|---|---|
| ||
@ScheduledTask
public class ExampleScheduledTask {
@Define
public void definition( ScheduledTaskDefinitionBuilder builder ) {
builder
.id( "example-scheduled-task" )
.name( "example.scheduled.task.name" )
.description( "example.scheduled.task.desc" )
.parameter()
.id( "scheduled-task-param" )
.name( "example.scheduled.task.param.name" )
.description( "example.scheduled.task.param.desc" )
.type( Types.STRING )
.create();
}
public void execute( @Param( value = "scheduled-task-param" ) String param )
{
// Ciało zadania zaplanowanego
...
}
}
|
Implementacja metody execute
Zadanie zaplanowane musi posiadać metodę o nazwie execute. Metoda może posiadać następujące typy parametrów:
- pojedynczy parametr zadania zaplanowanego- typ parametru musi być zgodny ze zdefiniowanym typem oraz musi być poprzedzony adnotacją @Param,
- Parameters - zawiera wszystkie zdefiniowane parametry walidatora wraz z ich wartościami, jest to alternatywa dla pobierania parametru za pomocą wyżej wspomnianej adnotacji@Param,
- ActivityContextMap - obiekt przechowujący zmienne formularza wraz z aktualnymi wartościami oraz identyfikator procesu i zadania; jest on w całości tylko do odczytu, nie ma możliwości zmiany wartości zmiennych,
- ContextVariables - zmienne kontekstowe dostępne w tym walidatorze. Więcej informacji tutaj,
- Translator - translator dla tego komponentu, dzięki któremu wiadomości zwracane przez walidator mogą być tłumaczone. Więcej informacji tutaj,
- UserInfo - obiekt zawierający informacje na temat użytkownika akceptującego zadanie.
Rejestracja zadania zaplanowanego we wtyczce
Jeżeli zadanie zaplanowane jest definiowane we wtyczce to należy dodatkowo zaznaczyć, że wtyczka ta udostępnia komponenty. W tym celu należy w pliku suncode-plugin.xml dodać wpis:
Code Block | ||
---|---|---|
| ||
<!-- Udostępnianie walidatorów -->
<workflow-components key="components" /> |