Problem mit Übertragung einer Klasse in RMI

Status
Nicht offen für weitere Antworten.

Chrisi3210

Aktives Mitglied
Hallo Leute!

Ich habe ein weiteres Problem mit der RMI:

Ich bekomme folgende Fehlermeldung:

java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: Math.matatyp
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy0.seta(Unknown Source)
at Math.imathclient.main(imathclient.java:41)
Caused by: java.io.NotSerializableException: Math.matatyp
at java.io_ObjectOutputStream.writeObject0(Unknown Source)
at java.io_ObjectOutputStream.writeObject(Unknown Source)
at sun.rmi.server.UnicastRef.marshalValue(Unknown Source)
... 5 more
Der RMIclient hat ein Problem mit der Übertragung des Inhaltes der Klasse matatyp.
Wo ist das Problem?
 
S

SlaterB

Gast
NotSerializableException erklärt alles oder läßt sich vollständig nachschlagen?

Java:
NotSerializableException

Serialisierung ist sicherlich auch ein Thema, was man dann mal im Lehrbuch nachschlagen sollte
 

Chrisi3210

Aktives Mitglied
In meinen "Lehrbüchern" steht nicht drin, wie selbstdefierte Klassen zur Übertragung in der RMI serialisiert werden müssen.
 

tfa

Top Contributor
Das Serialisieren übernimmt RMI, aber die Objekt bzw. deren Klassen müssen auch serialisierbar sein, d.h. java.io.Serializable implementieren.
 
T

tuxedo

Gast
Jepp, "Seriealizeable" ist einfach ein Marker-Interface...

Bei SIMON ist es ähnlich. Da sollte jede Klasse "SimonRemote" implementieren und jedes zu transportierende Objekt mindestens "Serializeable".

- Alex
 
T

tuxedo

Gast
Was soll an einem Interface verkehrt sein? Annotation würds zwar auch tun, aber die mag ich erstens nicht so und zweitens würde es diese eine eh schon simple Sache nicht weiter "verbessern".

- Alex
 

tfa

Top Contributor
Ein Interface definiert (wie der Name schon sagt) eine Schnittstelle aus Methodenprototypen und stellt somit einen Typ dar. Bei einem bloßen Markerinterface ist der nicht der Fall. Meiner Meinung nach ist diese Praktik ein Missbrauch von Interfaces. Es passt halt nicht. Das kann man heute besser durch Annotationen lösen, die übrigens ziemlich praktisch sind (früher dachte ich auch "Was soll das").

So richtig falsch (im Sinne von gefährlich) sind diese Markierungsinterfaces natürlich auch nicht. Nur eben unschön. Kritischer finde ich da schon die SimonRemoteExceptions, die von allen Methoden deklariert werden müssen und die Abhängigkeit der Schnittstelle zur Implementierung so richtig festklopfen. Ich finde, wenn es schon eine Alternative zu RMI gibt, sollte man es da gleich besser machen. Die Service-Schnittstelle sollte einfach nur ein POJI sein.
 
T

tuxedo

Gast
Ja, die Sache mit den Exceptions stört mich auch nch etwas. Steht aber auf meinem Plan für das nächste Major-Release.

Auf der anderen Seite: Was gibts denn da für alternativen? Jeder Remote-Call kann ja in einer Exception enden. Eine Laufzeitexception? Naja. Da hatte ich schon mehrfach das Problem dass Leute damit nicht umgehen können. Mit der SimonRemoteException ist man nur gezwungen den Call mit einem Try/Catch zu versehen und ggf. auf Fehler zu reagieren.

Was mir so spontan einfällt:

Die SimonRemoteException weglassen und einen ExceptionHandler anbieten: Der aufrufende muss vorher einen Listener registrieren der von Simon benachrichtigt wird wenn ein Call schief ging. Da kann dann auch drin stehen welcher Call das war und welche Argumente im Spiel waren. Der eigentliche Call liefert dann nur eine Runtime Exception.
Auf der anderen Seite könnte es sein dass dadurch die Benutzung im Fehlerfall umständlicher wird.

Andere Ideen?
Wobei... Ich könnte dafür auch nen extra Thread aufmachen damit es HIER nicht zu sehr offtopic wird.... (hier geht nun weiter: http://www.java-forum.org/netzwerkp...und-ohne-simonremoteexception.html#post544985)

- Alex
 
Zuletzt bearbeitet von einem Moderator:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Object Cast Problem nach Übertragung mit Log4j Netzwerkprogrammierung 5
J Problem bei Übertragung von Binärdateien Netzwerkprogrammierung 6
I Socket Problem mit den WebSocket Antworten der Discord API Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
S Problem bei dem Bluetoothverbindungsaufbau Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
M Netty - TCP Problem Netzwerkprogrammierung 4
L Socket Problem mit Server Netzwerkprogrammierung 1
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
M Socket CDI, Websocket reference Problem ! Netzwerkprogrammierung 2
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
G apache httpClient Problem. Netzwerkprogrammierung 5
H Problem mit ObjectStreams Netzwerkprogrammierung 3
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
D Socket BufferedWriter/Reader Problem Netzwerkprogrammierung 1
Maxim6394 Problem mit Socks5 Implementierung Netzwerkprogrammierung 0
C Handle Connection Problem Netzwerkprogrammierung 3
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
T Socket Server starten Thread Problem Netzwerkprogrammierung 12
B Client/Server Connection Problem Netzwerkprogrammierung 2
G Problem mit STATIC-Verständnis Netzwerkprogrammierung 8
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
J Facelets Include Rendered Problem Netzwerkprogrammierung 2
J Socket Problem mit C++/Java Netzwerkprogrammierung 20
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 7
B Socket Problem mit Netzwerkchat Netzwerkprogrammierung 21
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Maxim6394 ipv6 Problem Netzwerkprogrammierung 2
Maxim6394 Proxyserver Performance Problem Netzwerkprogrammierung 11
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 5
B RMI und Problem mit rmic-Tool Netzwerkprogrammierung 3
C FTP storeFileStream Problem Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
D JavaMail - Mailsabrufen Problem (imap) Netzwerkprogrammierung 12
J HTTP Übersetzung yahoo babelfish - Zeichensatz-Problem Netzwerkprogrammierung 6
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
N NIO Problem beim speziellen Behandeln von einzelnen Benutzern Netzwerkprogrammierung 13
D Thread problem Netzwerkprogrammierung 3
T Servlets JSP: Tomcat Problem Netzwerkprogrammierung 4
K Client - Server Problem Netzwerkprogrammierung 16
T RMI Problem Client-Server Netzwerkprogrammierung 2
P RMI Stub Problem Netzwerkprogrammierung 3
D Socket UDP Übertragungs Problem Netzwerkprogrammierung 7
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
D Problem mit ObjectInputStreams Netzwerkprogrammierung 10
D Socket Problem mit InputStreamReader Netzwerkprogrammierung 3
N CRC32 CheckSum Problem bei UDP Netzwerkprogrammierung 2
V Java Mail Api - IMAP Problem Netzwerkprogrammierung 6
P RMI Problem Netzwerkprogrammierung 4
I Problem bei Outputstreamerzeugung in anderer Klasse als Socket Netzwerkprogrammierung 5
S Socket Problem mit Objektübertragung Netzwerkprogrammierung 16
Shoox Reader / Writer Problem Netzwerkprogrammierung 2
S Problem mit 2 Serversockets unter Win XP Netzwerkprogrammierung 7
P Socket Problem mit Netzwerkverbindung über TCP Netzwerkprogrammierung 12
M RMI - Connection Problem Netzwerkprogrammierung 7
J Socket Client - Server Problem Netzwerkprogrammierung 4
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
E HTTP Problem beim Auslesen von Websiten Netzwerkprogrammierung 6
T Problem bei Findung der richtigen Architektur Netzwerkprogrammierung 3
AlexSpritze Authentication Problem bei WebServices Netzwerkprogrammierung 4
J Socket Problem -Proxies Netzwerkprogrammierung 2
R HTTP Problem bei Authentifizierung über (Http)UrlConnection Netzwerkprogrammierung 2
F Konzept Problem Netzwerkprogrammierung 12
G NIO Sockets Architektur Problem Netzwerkprogrammierung 2
H Neues NIO problem nachricht an alle clients Netzwerkprogrammierung 3
J Client server problem Netzwerkprogrammierung 3
S Problem bzgl. Sockets / Server-Client-Struktur Netzwerkprogrammierung 3
W RMI Problem Netzwerkprogrammierung 4
M Problem mit Server Netzwerkprogrammierung 5
N Socket Java server c# client problem Netzwerkprogrammierung 7
Y Problem mit ObjectInputStream beim lesen vom Socket Netzwerkprogrammierung 10
R RMI Hibernate Problem Netzwerkprogrammierung 4
Z RMI Problem Netzwerkprogrammierung 11
F RMI problem mit RMI Netzwerkprogrammierung 3
H Log4j SocketAppender Problem Netzwerkprogrammierung 2
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
P Problem mit JOscarLib Netzwerkprogrammierung 6
0din SMTP Client - readline problem Netzwerkprogrammierung 4
C komisches Problem / ObjectInputStream erstellt sich nicht Netzwerkprogrammierung 5
W vista / win server 2003 netzlaufwerk problem Netzwerkprogrammierung 4
W Problem mit HTTP-Dateiübertragung Netzwerkprogrammierung 6
E Problem: netbeans 6.5 und webanwendung Netzwerkprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben