java.io.NotSerializableException: java.util.HashMap $ Werte

7

Stapelverfolgung:

%Vor%

Leider zeigt das Protokoll nicht die Zeile oder die Klasse, in der das Serialisierungsproblem auftritt, sondern das ESB, bis der Schritt auftritt, in dem alle verwendeten HashMaps nur serialisierbare Objekte wie String, Long und Date!

Das Problem tritt auch beim Aufruf einer Remote-Methode auf, die ungültig ist.

Hast du schon mal so etwas gesehen?

    
falsarella 09.09.2013, 14:36
quelle

1 Antwort

22

Das Problem gefunden!

Der Remotedienst hat versucht, eine Exception auszulösen, die eine Sammlung von Zeichenfolgen aus HashMap.values() :

einkapselt %Vor%

HashMap hat eine innere Klasse namens Werte (wie Sie hier sehen können) , was eine Implementierung von Collection ist und NICHT serialisierbar ist. Wenn Sie also eine Ausnahme mit dem Inhalt von HashMap.values() werfen, löst die Remote-Methode stattdessen eine Serialisierungsausnahme aus!

ArrayList zum Beispiel ist serialisierbar und könnte zur Lösung des Problems verwendet werden. Arbeitscode:

%Vor%

Mein Fall, die Remote-Methode war ungültig und es wurde eine Ausnahme ausgelöst, aber beachte:

Es wird auch auftreten, wenn der Remote-Dienst eine HashMap $ Values-Instanz zurückgibt, zum Beispiel:

%Vor%

Noch einmal, die Lösung wäre:

%Vor%     
falsarella 09.09.2013, 14:36
quelle

Tags und Links