Javaklassen in Prozessobjekten
Für diverse Prozessobjekte können Javaklassen definiert werden, die bestimmte Anwendungsfälle innerhalb von Ereignisquellen, Ereignisbehandlern, Bedingungen und Aktionen umsetzen. Die anwählbaren Klassen werden im Folgenden beschrieben. Über die folgenden Links finden Sie weitere hilfreiche Informationen zu Javaklassen in Prozessobjekten:
Ereignisquellen
Bei der Konfiguration von generischen Ereignisquellen können folgende Eventklassen definiert werden:
FileSystemWorkflowEventSource
Quelle für Ereignisse in Verzeichnissen des lokalen Dateisystems (Create, Modify, Delete).
de.uplanet.lucy.server.workflow.eventsource.FileSystemWorkflowEventSource
UDPWorkflowEventSource
Quelle für UDP-Ereignisse.
de.uplanet.lucy.server.workflow.eventsource.UDPWorkflowEventSource
JMSQueueWorkflowEventSource
Quelle für JMS-Warteschlangenereignisse.
de.uplanet.lucy.server.jms.workflow.eventsource.JMSQueueWorkflowEventSource
JMSTopicWorkflowEventSource
Quelle für JMS-Topic-Ereignisse.
de.uplanet.lucy.server.jms.workflow.eventsource.JMSTopicWorkflowEventSource
Aktionen
Bei der Konfiguration von generischen Aktionen können folgende Eventklassen definiert werden:
FileSystemWorkflowEventSource
Quelle für Ereignisse in Verzeichnissen des Dateisystems (Create, Modify, Delete).
de.uplanet.lucy.server.workflow.eventsource.FileSystemWorkflowEventSource
NoopWorkflowAction
Diese Aktion bewirkt nichts.
de.uplanet.lucy.server.workflow.action.NoopWorkflowAction
LoggerWorkflowAction
Diese Aktion schreibt Einträge in das workflow-log.
de.uplanet.lucy.server.workflow.action.LoggerWorkflowAction
CheckPermissionWorkflowAction
Mit dieser Aktion können Rechte geprüft werden.
de.uplanet.lucy.server.workflow.action.CheckPermissionWorkflowAction
ThrowExceptionWorkflowAction
Mit dieser Aktion können Exceptions geworfen werden.
de.uplanet.lucy.server.workflow.action.ThrowExceptionWorkflowAction
JdbcExecuteUpdateWorkflowAction
Mit dieser Aktion können SQL-Befehle ausgeführt werden, die keine Ergebnismenge liefern.
de.uplanet.lucy.server.workflow.action.JdbcExecuteUpdateWorkflowAction
StartSchedulerJobWorkflowAction
Mit dieser Aktion können Jobs der Aufgabenplanung gestartet werden.
de.uplanet.lucy.server.workflow.action.StartSchedulerJobWorkflowAction
WorkflowActivateWorkflowAction
Mit dieser Aktion können andere Workflows aktiviert oder deaktiviert werden.
de.uplanet.lucy.server.workflow.action.WorkflowActivateWorkflowAction
RollbackTransactionWorkflowAction
Diese Aktion veranlasst den Transaktionsmanager dazu, ein Rollback der aktuellen Transaktion auszuführen.
de.uplanet.lucy.server.workflow.action.RollbackTransactionWorkflowAction
VelocityWorkflowAction
Mit dieser Aktion kann Text aus Velocity-Templates erzeugt werden.
de.uplanet.lucy.server.workflow.action.VelocityWorkflowAction
TouchSessionWorkflowAction
Mit dieser Aktion kann ein Timeout der aktuellen Session verhindert werden.
de.uplanet.lucy.server.workflow.action.TouchSessionWorkflowAction
DisableTriggerSubsequentWorkflowEventsWorkflowAction
Mit dieser Aktion kann das Triggern von Folgeereignissen deaktiviert werden.
de.uplanet.lucy.server.workflow.action.DisableTriggerSubsequentWorkflowEventsWorkflowAction
EnableTriggerSubsequentWorkflowEventsWorkflowAction
Mit dieser Aktion kann das Triggern von Folgeereignissen aktiviert werden.
de.uplanet.lucy.server.workflow.action.EnableTriggerSubsequentWorkflowEventsWorkflowAction
JMSQueueMessageProducerWorkflowAction
Mit dieser Aktion können JMS-Nachrichten an eine Warteschlange senden.
de.uplanet.lucy.server.jms.workflow.action.JMSQueueMessageProducerWorkflowAction
JMSTopicMessageProducerWorkflowAction
Mit dieser Aktion können JMS-Nachrichten an einen Topic senden.
de.uplanet.lucy.server.jms.workflow.action.JMSTopicMessageProducerWorkflowAction
UDPSendDatagramWorkflowAction
Mit dieser Aktion können UDP-Datagramme versendet werden.
de.uplanet.lucy.server.workflow.action.UDPSendDatagramWorkflowAction
GroupTextFeedWorkflowAction
Mit dieser Aktion können Textnachrichten in Intrexx-Share-Gruppen erstellt werden.
de.uplanet.lucy.server.share.workflow.action.GroupTextFeedWorkflowAction
Ab Intrexx Version 12.0.0
SQSCreateStandardQueueWorkflowAction
Erzeugen von Standard-Warteschlangen.
de.uplanet.lucy.server.share.workflow.action.SQSCreateStandardQueueWorkflowAction
SSQSCreateFifoQueueWorkflowAction
Erzeugen von FIFO-Warteschlangen.
de.uplanet.lucy.server.share.workflow.action.SQSCreateFifoQueueWorkflowAction
SQSDeleteQueueWorkflowAction
Löschen von Warteschlangen.
de.uplanet.lucy.server.share.workflow.action.SQSDeleteQueueWorkflowAction
Bedingungen
Bei der Konfiguration von generischen Bedingungen können folgende Eventklassen definiert werden:
ApplicationApiRequestWorkflowCondition
Diese Bedingung können Sie verwenden, um in Prozessen Application-API-Requests von anderen unterscheiden zu können.
Sie hat drei mögliche Ausgänge, die standardmäßig mit "true", "false" und "always" benannt sind. Die Namen können im Dialog geändert werden. Mindestens ein Ausgang muss definiert werden. Maximal drei Ausgänge dürfen bei der Bedingung definiert werden.
Falls eine Application-API-Request vorliegt, wird zuerst der True-Ausgang und dann der Always-Ausgang abgearbeitet (jeweils sofern vorhanden).
Falls kein Application-API-Request vorliegt, wird zuerst der False-Ausgang und dann der Always-Ausgang abgearbeitet (jeweils sofern vorhanden). Weitere Informationen finden Sie hier: Intrexx Application API.
CheckPermissionWorkflowCondition
Prüft ein Recht und wählt entsprechend dem Ergebnis den benannten Ausgang, der für transitionGrant bzw. transitionDeny definiert wurde.
Attribute:
-
transitionGrant
-
transitionDeny
-
permissionClass
Die Permission-Klasse muss nicht die Klasse de.uplanet.lucy.security.permission.IIntrexxPermission implementieren. Sie muss von java.security.Permission ableiten und einen oder zwei Konstruktor-Parameter vom Typ "String" haben. Der erste Parameter ist der Name der Permission, der zweite (optionale) sind die Actions.
Weitere Informationen finden Sie hier:
https://help.intrexx.com/apidocs/jdk21/api/java.base/java/security/Permission.html
https://docs.intrexx.com/intrexx/version/steady/api/workflow/jdk/de/uplanet/lucy/security/permission/IIntrexxPermission.html -
permissionActions
Hier muss der Name der konkreten Berechtigung hinterlegt werden, auf die geprüft wird. -
permissionName
Hier muss die GUID des Objekts angegeben werden, auf die sich die Anfrage bezieht.
Beispiel:
permissionClass: de.uplanet.lucy.security.permission.DatagroupPermission
permissionActions: create
permissionName: <DG-GUID>
Diese Konfiguration prüft, ob der aktuelle Benutzer die Berechtigung hat in der Datengruppe <DG-GUID> neue Datensätze zu erstellen.
Klasse:
de.uplanet.lucy.server.workflow.condition.CheckPermissionWorkflowCondition
ListingWorkflowCondition
Diese Bedingung kann verwendet werden, um für die Abarbeitung der Ausgänge eine Reihenfolge in Form einer Liste anzugeben. ListingWorkflowCondition ist immer true. Die Namen der Ausgänge müssen mit Leerzeichen getrennt im Attribut "efferentTransitionOrder" hinterlegt werden. Wird dort z.B. "zwei eins drei" eingetragen, wird zuerst der Ausgang "zwei", dann der Ausgang "eins" und zuletzt der Ausgang "drei" durchlaufen.
Klasse:
de.uplanet.lucy.server.workflow.condition.ListingWorkflowCondition
RandomWorkflowCondition
Mit dieser Bedingung wird nach dem Zufallsprinzip entweder der true- oder false-Ausgang verwendet. Mit welcher Wahrscheinlichkeit dies geschieht, wird über die angegebenen Gewichte gesteuert:
-
1:1 entspricht p = q = 0.5
-
3:1 entspricht p = 0.25 und q = 0.75, usw.
Klasse:
de.uplanet.lucy.server.workflow.condition.RandomWorkflowCondition
Ab Intrexx Version 12.0.0
TransactedAcquireLockWorkflowCondition
Setzt clusterweit einen Lock über den Lock-Service und gibt ihn am Ende der Transaktion wieder frei. Die Bedingung hat zwei Ausgänge: success und failure.
Klasse:
de.uplanet.lucy.server.workflow.condition.TransactedAcquireLockWorkflowCondition
Ereignisbehandler
Bei der Konfiguration von generischen Ereignisbehandlern können folgende Eventklassen definiert werden:
NoopWorkflowEventHandler
Dieser Ereignisbehandler spricht auf kein Ereignis an.
de.uplanet.lucy.server.workflow.eventhandler.NoopWorkflowEventHandler
JMSWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet Java-Messaging-Ereignisse (JMS).
de.uplanet.lucy.server.jms.workflow.eventhandler.JMSWorkflowEventHandler
UserWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet benutzerdefinierte Ereignisse.
de.uplanet.lucy.server.workflow.eventhandler.UserWorkflowEventHandler
TimerJobCompletionWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet das Ende-Ereignis von Timern.
de.uplanet.lucy.server.workflow.eventhandler.TimerJobCompletionWorkflowEventHandler
TimerJobSchedulingWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet das Start-Ereignis von Timern.
de.uplanet.lucy.server.workflow.eventhandler.TimerJobSchedulingWorkflowEventHandler
SessionLoginWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet Login-Ereignisse.
de.uplanet.lucy.server.workflow.eventhandler.SessionLoginWorkflowEventHandler
UDPDatagramWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet UDP-Ereignisse.
de.uplanet.lucy.server.workflow.eventhandler.UDPDatagramWorkflowEventHandler
FileSystemWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet Dateisystem-Ereignisse.
de.uplanet.lucy.server.workflow.eventhandler.FileSystemWorkflowEventHandler
BadMailWorkflowEventHandler
Dieser Ereignisbehandler verarbeitet das Ereignis, wenn eine E-Mail nicht verarbeitet werden kann und in den BadMail-Ordner verschoben wird.
de.uplanet.lucy.server.mailservice.workflow.eventhandler.BadMailWorkflowEventHandler