MelinaMoraiti / Distributed-Systems-Exercises

This repository contains a series of exercises and projects related to distributed systems (ONC RPC, Java RMI, etc.)
2 stars 1 forks source link

Error - MarshalException, at: th.addCallback(client, type) #1

Open jimzord12 opened 6 months ago

jimzord12 commented 6 months ago

Καλησπερα Μελινα,

Μια φιλη μου που σπουδαζει στο ιδιο τμημα με σενα και μου ζητησε βοηθεια για μια ασκηση πολυ παρομοια με το συγκεκριμενο Repo. Καθως ετρεχα τον κωδικα, εμφανιστηκε αυτο το error:

PS C:\Users\jimzord12\Desktop\java-rmi> java RMI_theatre_Booking_System.THClient book localhost "Zone A" 20 bbbb

Failed booking: No available seats of type Zone A Would you like to subscribe for notifications if any reservation of type Zone A gets cn of type Zone A gets canceled? Enter 'yes' or 'no': yes

_RemoteException java.rmi.MarshalException: error marshalling arguments; nested exception is: exception is: java.io.NotSerializableException: RMI_theatre_BookingSystem.THClient


Παρατηρησα οτι εαν στο THClient.java κανεις extend απο το "UnicastRemoteObject" Class το προβλημα εξαφανίζεται. Απο το error φαινεται οτι το προβλημα εχει να κανει με Serialization και Remote, το UnicastRemoteObject αναλαμβανει και τα 2 οποτε γι' αυτο λογικα δουλεψε.

Εδω ειναι οι αλλαγες που εκανα στο THClient.java:

import java.rmi.server.UnicastRemoteObject;

public class THClient extends UnicastRemoteObject implements THCallback {
    public THClient() throws RemoteException {
        super();
    }

 public static void main(String[] args) throws RemoteException {

Θα σου εκανα Pull Request στο GitHub αλλα δεν αφηνει να "Forkαρω" το repo, γι' αυτο στο αναφερω εδω.

Γενικα παρα πολυ δουλεια και ειμαι σιγουρος οτι αυτο το Repo θα βοηθησει πολλους φοιτητες.

Καλη συνεχεια και Καλη Ανασταση

MelinaMoraiti commented 6 months ago

Καλημέρα και Χρόνια Πολλά, Ήξερα ότι δεν υποστηρίζεται η λειτουργία για ειδοποιήσεις όταν τυχόν ακυρωθεί κάποια κράτηση για τον συγκεκριμένο τύπο θέσεων (δηλαδή ο μηχανισμός callback), και ότι πετάει αυτό το exception σε αυτό το σημείο, απλά δεν είχα τον χρόνο να το διορθώσω, και ξέχασα να το γράψω και στο README, όποτε σε ευχαριστώ για το issue.

Και πάλι ευχαριστώ για το issue και το debugging, Καλή Συνέχεια

jimzord12 commented 5 months ago

Ζητητω συγνωμη που αργησα τοσο πολυ να δω to reply.

Οσον αφορα το Fork: μαλλον ειχε σε καποιου ειδους Pending Queue και εγινε πιο μετα.

Οσον αφορα το Κωδικα: Δεν ειμαι 100% σιγουρος αλλα πρεπει να σταματαει το προβλημα, με αποτελεσμα να τυωνονται τα μηνυματα.