wie OutOfMemoryError in JVM zu fangen und ein Skript auszuführen, wenn es gefangen wird?

8

Ich habe ein Programm, das manchmal OOME wirft, Ich verstehe, dass es ein Flag in den JVM-Optionen gibt, die ich einstellen kann und wann immer ein bestimmter Fehler / Ausnahme erscheint (wie OOME) ruft es ein Skript auf, das ich geschrieben habe. Das Skript gibt dem Benutzer eine Benachrichtigung und ruft das Programm mit einem anderen Argument auf, so dass es OOME nicht erneut erhält.

weiß jemand, wie man diese Flagge setzt? Was sind die JVM-Optionen, die ich einstellen muss? Ich schaute überall online und konnte die Antwort nicht finden.

hilf mir bitte! Vielen Dank, Aye

    
Aye 29.09.2010, 11:26
quelle

2 Antworten

12

-XX: OnOutOfMemoryError="cmd args; Befehlszeilenargumente"

Von: Ссылка

    
TuomasR 29.09.2010 11:31
quelle
-3

Ich habe einen Vorschlag in einem Forum gefunden: Fange das OOME in deiner Anwendung (wie direkt) in der Hauptsache, vorausgesetzt, Sie sind single-threaded) und tun dies in der Fang-Handler:

%Vor%

Wenn Sie den Heapspeicher bereinigen, wird möglicherweise gerade genug Speicher freigegeben, um vor dem Löschen eine letzte Fehlermeldung zu erzeugen.

    
Andreas_D 29.09.2010 11:34
quelle