Zugriff auf den J2EE
Thread-Manager
● Die Java-Klasse Ihres Adapters, die in einem eigenen Thread laufen soll, muss das Standard-Interface java.lang.Runnable implementieren.
● Der Thread kann als J2EE Application-Thread über die Instanz SAPAdapterResource gestartet werden.
mRes wurde zuvor ermittelt, siehe Beispiel unter: Zugriff auf den J2EE Transaction Manager.

Öffnen Sie hierzu SPIManagedConnectionFactory.java und suchen Sie nach der Zeichenkette CS_THSTR.
● Der Adapter selbst muss das Thread-Lifetime-Management implementieren und er muss den Thread zum richtigen Zeitpunkt starten und stoppen.
Der Thread muss beispielsweise in einem Sender-/Inbound-Adapter, der aktiv geschaltet wird, gestartet werden.
Der Thread-Status wird in einer eigenen Variable verwaltet und es müssen geeignete start()-und stop()-Methoden implementiert werden.
● Viele Adapter müssen eigene Worker-Threads starten, vor allem für Verarbeitung in Sender-/Outbound-Richtung.
Verwenden Sie gemäß den allgemeinen J2EE-Container-Regeln J2EE-verwaltete Threads anstelle systemeigener JVM-Threads. Die Adapter-Framework-API stellt hierfür die Methode SAPAdapterResources.startRunnable() zur Verfügung. Einzelheiten hierzu finden Sie in der JavaDoc.
○ Unabhängig davon, welchen Thread-Typ Sie verwenden, sollten Sie für den Adapter einen eindeutigen Thread-Namen verwenden.
Im Fall schwerwiegender J2EE-Serverprobleme sind JVM-Thread-Dumps oft der einzige Weg, die Fehlerursache zu finden. Diese Dumps listen alle Threads mit ihrem jeweiligen Namen auf. Eindeutige Thread-Namen erleichtern die Suche nach den Adapter-Worker-Threads
○ Sobald der Thread freigegeben wird, setzen Sie den Thread-Namen auf den ursprünglichen Wert zurück.
Es ist sonst möglich, dass alle Anwendungs-Threads nach einer gewissen Zeit mit diesem Adapter-Thread-Namen versehen werden.
Weitere Informationen zum Erzeugen von Thread-Dumps finden Sie im SAP-Hinweis 710154.

Öffnen Sie hierzu SPIManagedConnectionFactory.java und suchen Sie nach den Zeichenketten CS_MCFTNAMESET und CS_MCFTNAMERESET.