2016-07-20 12 views
0

Von der offiziellen Dokumentation für Arbeit Timeout Arbeit Managerwebsphere Arbeit Manager Arbeit Timeout

Gibt die Anzahl der Millisekunden, bevor zu warten, versuchen, eine Arbeitseinheit zu lösen. Das Timeout-Intervall beginnt mit dem Start der Arbeitseinheit und nicht mit dem Senden der Arbeitseinheit.

enter image description here

habe ich die Arbeit Timeout auf 1000 Millisekunden und sorgte dafür, dass mein Thread für mehr als diese Zeit engagiert Thread.sleep(10000) durch den Aufruf. Immer noch ist nichts passiert oder es wurde keine Ausnahme geworfen. Der Thread wurde für die Schlafdauer aktiviert und erst danach für andere Anfragen in den Pool zurückgegeben.

Was bedeutet work object is released means then?

+0

Arbeitsanforderungswarteschlange voller Aktion ist Block, könnten Sie zum Scheitern verurteilt zu ändern, was zur Folge haben wird? –

+1

Bei der Einstellung, dass es fehlschlägt. Eine Ausnahme wird ausgelöst, wenn die Anforderungswarteschlange voll ist – ares

Antwort

1

Es gibt eine Methode auf der com.ibm.websphere.asynchbeans.Work Schnittstelle mit dem Namen release. Diese Dokumentation bezieht sich im wahrsten Sinne des Wortes auf den Arbeitsmanager, der diese Methode in Ihrer Work Implementierung als Antwort auf das erreichte Arbeits-Timeout aufruft. Sie können Ihre release implementieren, um zu tun, was Sie wollen, zum Beispiel yourWorkThread.interrupt() aufrufen oder ein Flag setzen, um der Arbeit anzuzeigen, dass es aufhören sollte, weiterhin neue Arbeit zu tun. Hier

ist ein Link auf die Arbeit API JavaDoc:

https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.javadoc.doc/web/apidocs/com/ibm/websphere/asynchbeans/Work.html?view=kc#release()