Lesen und beachten Sie die Automation Anywhere-Dokumentation

Automation Anywhere Automation 360

Inhalt schließen

Inhalte

Inhalt öffnen

Erstellen Sie einen Trigger mithilfe des Package SDK

  • Aktualisiert: 12/11/2020
    • Automation 360 v.x
    • Erkunden
    • RPA Workspace

Erstellen Sie einen Trigger mithilfe des Package SDK

Bei Verwendung von Automation 360können Sie einen Trigger mit dem SDK-Paket erstellen.

Verwenden eines Triggers

Verwenden Automation 360 Sie, um einen Trigger zu erstellen. Ein Trigger startet einen Bot , wenn bestimmte Bedingungen erfüllt sind, und wartet, bis sich die Bedingungen geändert oder gestoppt haben. Wenn die Bedingungen des Triggers übereinstimmen, wird die Run-Methode aufgerufen, um den Trigger zu signalisieren.

Erforderliche Anmerkungen

Zum Erstellen eines Triggers sind die folgenden Anmerkungen erforderlich:

Anmerkung Nutzung
BotCommand Verwenden Sie die BotCommand -Anmerkung mit dem Trigger als commandType. Dadurch wird sichergestellt, dass das einfache alte Java-Objekt (POJO) zum Erstellen des Triggers mit Automation 360geeignet ist.
CommandPkg Diese Werte werden beim Erstellen eines Pakets verwendet. Geben Sie einen Namen, eine Bezeichnung und eine Beschreibung für die Anmerkung ein.
Idx Notieren Sie alle erforderlichen Parameter und Elementvariablen, und helfen Sie bei der Validierungsprüfung. Alternativ können sie in der Schnittstelle für die Eingabe angezeigt werden. Geben Sie den Index (IDX) und den Typ an.
Paket Notieren Sie alle Parameter und Elementvariablen, die in der Benutzeroberfläche angezeigt werden. Diese Anmerkung wird ignoriert, wenn sie nicht vom IDXbegleitet wird.
Startzuhören Startet den Triggerlistener.
TriggerID Eine Trigger-ID, die zum Stoppen des Triggers erforderlich ist.
TriggerRunnable Stellt die ausführbare bereit. Der Aufruf der Runnable sendet ein Signal, das eine Bot startet, die mit einem Trigger verknüpft ist.

Anwendungsbeispiel

Im folgenden Anwendungsbeispiel wird gezeigt, wie Sie einen Timer-Trigger erstellen, der in Bot einem regelmäßigen Intervall einen auslöst.

  1. Erstellen Sie die POJO-Klasse mit der Geschäftslogik:
    public class TriggerDemo {
    	
    	private static final Timer TIMER = new Timer(true);
    	
    	public void startTrigger(Double interval) {
    		TimerTask timerTask = new TimerTask() {
    
    			@Override
    			public void run() {
    				// Do nothing
    
    			}
    		};
    
    		TIMER.schedule(timerTask, interval.longValue());
    	}
    
    }

    Mehrere Trigger des gleichen Typs können in einem Botvorhanden sein. Alle Auslöser Werden durch eine triggerIdidentifiziert.

  2. Fügen Sie der Klasse eine TriggerId hinzu:
    @TriggerId
    	private String triggerUid;
    	
    	public String getTriggerUid() {
    		return triggerUid;
    	}
    
    	public void setTriggerUid(String triggerUid) {
    		this.triggerUid = triggerUid;
    	}
  3. Speichern Sie den TimerTask separat, sodass Sie, wenn Sie einen bestimmten Trigger stoppen möchten, die triggerIdverwenden.
    private static final Map<String, TimerTask> taskMap = new ConcurrentHashMap<>();
    	
    	public void startTrigger(Double interval) {
    		TimerTask timerTask = new TimerTask() {
    
    			@Override
    			public void run() {
    				// Do nothing
    
    			}
    		};
            taskMap.put(this.triggerUid, timerTask);
    		TIMER.schedule(timerTask, interval.longValue());
    	}
  4. Starten Sie einen Trigger, wenn die Bedingungen erfüllt sind. Akzeptieren Sie eine ausführbare und nennen Sie sie entsprechend.
    @TriggerRunnable
    	private Runnable runnable;
    	
    	public Runnable getRunnable() {
    		return runnable;
    	}
    
    	public void setRunnable(Runnable runnable) {
    		this.runnable = runnable;
    	}
    	
    	public void startTrigger(Double interval) {
    		TimerTask timerTask = new TimerTask() {
    
    			@Override
    			public void run() {
    				runnable.run();
    
    			}
    		};
            taskMap.put(this.triggerUid, timerTask);
    		TIMER.schedule(timerTask, interval.longValue());
    	}
  5. Stoppen Sie den Trigger entweder einzeln (verwenden Sie eine TriggerId) oder stoppen Sie alle Trigger gleichzeitig (StopAllTriggers).
    /*
    	 * Cancel all the task and clear the map.
    	 */
    	@StopAllTriggers
    	public void stopAllTriggers() {
    		taskMap.forEach((k, v) -> {
    			if (v.cancel()) {
    				taskMap.remove(k);
    			}
    		});
    	}
    
    	/*
    	 * Cancel the task and remove from map
    	 *
    	 * @param triggerUid
    	 */
    	@StopListen
    	public void stopListen(String triggerUid) {
    		if (taskMap.get(triggerUid).cancel()) {
    			taskMap.remove(triggerUid);
    		}
    	}
  6. Fügen Sie die verbleibenden Anmerkungen hinzu.
    @BotCommand(commandType = BotCommand.CommandType.Trigger)
    @CommandPkg(label = "Demo Trigger", description = "Demo Trigger", icon = "email.svg", name = "demoTrigger")
    public class TriggerDemo {
    //Other code
    
    	@StartListen
    	public void startTrigger(@Idx(index = "1", type = AttributeType.NUMBER)
    	@Pkg(label = "Please provide the interval to trigger in seconds", default_value = "120", default_value_type = DataType.NUMBER)
    	@GreaterThan("0")
    	@NumberInteger
    	@NotEmpty
    	Double interval) {
    	//Other code
    	}
    
    }
Feedback senden