Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8307781
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T18:36:39+00:00 2026-06-08T18:36:39+00:00

I am trying to add arguments in RMI method. When I add e.g. String

  • 0

I am trying to add arguments in RMI method. When I add e.g. String everything works fine. But I am not sure if I can pass an object I created. I am new to RMI so my code is very simple:

HelloIF

public interface HelloIF extends Remote {
    String greeting(Context c) throws RemoteException;
}

Hello

public class Hello extends UnicastRemoteObject implements HelloIF {

    public Hello() throws RemoteException {
    }

    public String greeting(Context c) throws RemoteException {
        addToContext(c);
        report(c);
        return "greeting";
    }

    void addToContext(Context c) {
        c.addID(Thread.currentThread().getId());
    }

    void report(Context c) {
        System.out.println("Hello.greeting() thread : "
                + Thread.currentThread().getName() + " "
                + Thread.currentThread().getId());

        System.out.println("Hello.greeting() context : "
                + c.getDistributedThreadName() + " " + c.getRequestType());
    }
}

RMIServer

public class RMIServer {

    public static void main(String[] args) throws RemoteException, MalformedURLException {
        LocateRegistry.createRegistry(1099);
        HelloIF hello = new Hello();
        Naming.rebind("server.Hello", hello);
        System.out.println("server.RMI Server is ready.");
        System.out.println("RMIServer.main() thread : " + Thread.currentThread().getName() 
                + " " + Thread.currentThread().getId());
    }
}

RMIClient

public class RMIClient {
    public static void main(String[] args) throws RemoteException, MalformedURLException, NotBoundException {

        Context context = new Context("request1", Thread.currentThread().getName()+System.currentTimeMillis());

        Registry registry = LocateRegistry.getRegistry("localhost");
        HelloIF hello = (HelloIF) registry.lookup("server.Hello");
        System.out.println(hello.greeting(context));
        System.out.println("RMIClient.mian() thread : " + Thread.currentThread().getName() 
                + " " + Thread.currentThread().getId());
    }
}

and finally my class Context

public class Context 
{
    private String requestType;
    private String distributedThreadName;
    private List<Long> IDList;

   (...) getters/setters
}

What should I do to make passing Context possible?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T18:36:40+00:00Added an answer on June 8, 2026 at 6:36 pm

    Your object should implement Serializable. As I can see this would be one problem. It is needed because the communication between both parts is done using serialization, so each object that needs to be sent to the other part, needs to be an instance of class implementing Serializable.

    public class Context implements Serializable
    {
        private String requestType;
        private String distributedThreadName;
        private List<Long> IDList;
    
       (...) getters/setters
    }
    

    and please add a serialVersionUID as a good practice. Something like:

    private static final long serialVersionUID = 20120731125400L;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Trying to add a class object into a List using reflection, but when invoking
I'm trying to pass arguments in XCode and understand you need to add them
I'm trying to pass command-line arguments to a C# application, but I have problem
Im new to asp.net mvc. I'm trying add new model class but it got
Trying to add init parameter names to a list in init(ServletConfig) method. public void
Trying to add a blank sample app for a rails tutorial to GitHub, but
i'm trying to add a binary operator function to a package of mine, but
I am trying to add a Delete button to my product-page, but I am
I use such code to pass arguments to event handler functions. But, in this
I am trying to use Getopt::Long add command line arguments to my script (seen

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.