AX7 – Der Stapelverarbeitungsdienst und wie man ihn debuggen kann

In diesem Beitrag möchte ich kurz erläutern, was es mit dem Stapelverarbeitungsdienst (Batch Service) in der Entwicklungsumgebung (und anderen One-Box-Environments) auf sich hat und wie man diesen debuggen kann.

Der Stapelverarbeitungsdienst

In AX 2012 konnten (und mussten) wir einen oder mehrere AOS als Batch-AOS definieren, was dann dazu führte, dass Stapelverarbeitungsaufträge (Batch Job dort ausgeführt werden konnten. Im neuen Microsoft Dynamics AX verhält es sich ein bisschen anders. Im Fall einer entwicklungsfähigen virtuellen Maschine (und mutmaßlich allen aktuellen und zukünftigen One-Box-Topologien) gibt es eines Windows-Dienst, der darauf eingerichtet ist und die Stapelverarbeitungsaufträge abarbeitet. Der Name des Dienstes lautet
Microsoft Dynamics AX Batch Management Service
und man findet diesen zum Beispiel über den Eintrag Dienste (Services) über das Startmenü von Windows. Wenn man also den AOS (bzw. nunmehr IIS) herunterfahren oder neu starten muss, so sollte man das zusätzlich mit diesem Dienst ebenfalls tun 🙂

Microsoft Dynamics AX Batch Management Service (Stapelverarbeitungsdienst)

Debugging

Ab und an muss man bestimmte Punkte innerhalb der Ausführung von Stapelverarbeitungsaufträgen debuggen. Unter AX 2012 müsste man dazu Visual Studio an den Verarbeitungsprozess des AOS anhängen und den IL-Code debuggen. Im Grunde funktioniert es noch genauso und ist sogar ein bisschen einfacher geworden, nachdem X++ ja zu einer echten .NET-Sprache geworden ist. Also muss man lediglich Debug / Attach To Process… in Visual Studio aufrufen und zunächst sicherstellen, dass Show processes from all users selektiert ist. Der Stapelverarbeitungsdienst findet sich als Batch.exe in der Liste (der vollständige Pfad lautet übrigens C:\CustomerServiceUnit\DOBind\Packages\Cloud\AosWebApplication\AosWebApplication.csx\roles\AosWeb\approot\bin – zumindest auf lokal deployten Maschinen und die Info ist hierfür auch nicht wirklich relevant). Nachdem man sich an diesen Prozess angehängt hat (Attach) sollte man in der Lage sein, den dort ausgeführten X++-Code zu debuggen.

Stapelverarbeitungsdienst debuggen

Schreibe einen Kommentar