org.postgresql.util.PSQLException - A result was returned when none was expected

Das kann nicht funktionieren (und wenn es bis jetzt funktioniert hat, war das purer Zufall)

Auf einem Connection Objekt kann immer nur exakt ein(!) java.sql.Statement Objekt zur gleichen Zeit aktiv sein. Du musst auch deine Query Aufrufe synchronisieren.

Viel sinnvoller wäre es allerdings wenn Du einen Connection Pool verwendest.

Hey, vielen Dank für die Antwort.
Also ich werde das jetzt nochmal prüfen. Bin aber etwas verwirrt.

Ich habe einen Test laufen lassen, wo ein Threadpool gleichzeitig Query’s ausführt, sowie Elemente hinzufügt und entfernt.
Ich bin davon ausgegangen dass Connection threadsafe ist, zumindest ist das in der PostgreSQL Doku so beschrieben.

Mein Test mit dem Threadpool ergab auch keinen Fehler.

Jetzt wo du mir aber sagst dass ich immer nur ein Statement Objekt von einer Connection aktiv sein kann, muss ich das mal prüfen. War mir bisher zumindest nicht bewusst.

Die Variante mit einem Connection Pool habe ich bereits implementiert. Es gab hier ein ganz treffendes Beispiel: Chapter 8 Continued: Connection Pooling
Da ich aber den Fehler nicht reproduzieren kann, wende ich es noch nicht an.
War aber auch hier der Meinung dass dies keine Lösung ist, da ein Connection Pool nur dann sinnvoll ist, wenn es performance Probleme gibt, da eben gleichzeitig mehrere Connections zur Datenbank bestehen. Das Problem dass ich habe, lässt sich dadurch nicht lösen (dachte ich zumindest).