Ausnahme bei der Verwendung von Timeout bei der Transaktion

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ausnahme bei der Verwendung von Timeout bei der Transaktion

by Anonymous » 03 Apr 2025, 09:53

Ich verwende Spring Boot 3 mit einer Oracle-Datenbank (Jarepository und Hikari-Verbindung werden verwendet) und ich habe ein seltsames Verhalten, wenn ich Timeout auf @Transactional verwende.

Code: Select all

@Transactional(readOnly = true, timeout = 30)
< /code>
Wenn Timeout auftritt, sehe ich diese Fehler in Protokollen: < /p>
ORA-01013: user requested cancel of current operation 
Im Controller habe ich, wenn ich die vom Service ausgelöste Ausnahme fange, eine JPA -Ausnahme, da ein Rollback nicht durchgeführt werden kann, da die Verbindung geschlossen ist. Außerdem erwarte ich keinen Fehler aufgrund einer geschlossenen Verbindung, sondern nur eine transaktionsübergreifende oder ähnliche, um anzuzeigen, dass der Fehler auf Timeout zurückzuführen ist.try {
this.myService.doService();
} catch(Exception e) { // An explicit exception indication that we had a timeout (ex: TransactionTimedOutException)
// return a specific error code to front-end
}
Ich habe im Moment eine JPA-Ausnahme, da der Rollback nicht durchgeführt werden kann, da die Verbindung nach einer SQL-Ausnahme geschlossen wurde (mit ORA-01013-Fehler).>

Top